[Previo] Tabla de Contenidos [Siguiente]
Cualquier programa hecho con esta librería, ademas de incluir las cabeceras típicas (como stdio.h y stdlib.h), debe contar además com el archivo SDL/SDL.h así:
Se debe escribir en mayúsculas de modo de mantener la compatibilidad con Linux. En el mismo ambito de la compatibilidad, la segunda opción es preferible por motivos de portabilidad en varias plataformas, aunque esto requerirá que se añada el directorio SDL a la lista de rutas incluidas que buscará el compilador. Todas las demás cabeceras de archivos SDL están incorporadas dentro de ésta para así limitar el mantenimiento. También es necesario enlazar la librería principal de SDL (lib-SDL) dentro la aplicación.#include "SDL/SDL.h" ó
#include "SDL.h"
Para inicializar y para cerrar la SDL (en este caso, es más preciso referirse a alguno de sus subsistemas) se debe llamar a la función SDL_InitSubSystem() y SDL_QuitSubSystem(), respectivamente. El prototipo de estas funciones es el siguiente:La función SDL_InitSubSystem() devuelve –1 si hubo problemas y 0 si tuvo éxito.int SDL_InitSubSystem(Uint32 flags);
void SDL_QuitSubSystem(Uint32 flags);
El parámetro que toma es para especificar que bloque o subsistema de SDL inicializar.
La función final siempre debe ser SDL_Quit, ya que esto retirará lo manejadores de señales del paracaídas y terminará cualquier hilo que haya quedado activo.
Algunos de los parametros más utilizados son:
SDL_INIT_VIDEO Inicializa el subsistema de video SDL_INIT_AUDIO Inicializa el subsistema de audio SDL_INIT_CDROM Inicializa el subsistema de cd-rom SDL_INIT_TIMER Inicializa el subsistema timer SDL_INIT_JOYSTICK Inicializa el subsistema de joystick SDL_INIT_EVERYTHING Inicializa todo lo anterior
Ejemplo:
#include <stdlib.h> #include "SDL.h" main(int argc, char *argv[]) { if (SDL_InitSubSystem(SDL_INIT_JOYSTICK) < 0) { fprintf(stderr, "No se encontró ningun joystick en el sistema: %s\n”, SDL_GetError()); exit(1); } atexit(SDL_Quit); ... } |