Wird SDL nach der Benutzung nicht ordnungsgemäß heruntergefahren kann dies zu Problemen führen. Um alle SDL-Subsysteme herunterzufahren wird die Funktion SDL_Quit verwendet. Sie sollte nach allen anderen SDL-Funktionen im Programm stehen. Deshalb wird die Funktion auch gerne in Kombination mit atexit () verwendet.
#include <SDL.h> void SDL_Quit ();
#include <iostream> #include <SDL/SDL.h> int main( int argc, char **argv ) { // Videosubsystem initialisieren if( SDL_Init( SDL_INIT_VIDEO ) ) { // Irgendwas ist schiefgegangen. SDL_GetError weiß mehr std::cerr << "Konnte SDL nicht initialisieren: " << SDL_GetError() << std::endl; return 1; } std::cout << "SDL wurde erfolgreich initialisiert." << std::endl; // SDL_Quit registrieren atexit (&SDL_Quit); std::cout << "SDL wurde heruntergefahren." << std::endl; return 0; }
Ausgabe:
SDL wurde erfolgreich initialisiert:
SDL wurde erfolgreich initialisiert. SDL wurde heruntergefahren.
Etwas ist schiefgegangen:
Konnte SDL nicht initialisieren: [SDL_GetError ()-Fehlermeldung]