Clean up all initialized subsystems.
void SDL_Quit(void);
You should call this function even if you have already shutdown each initialized subsystem with SDL_QuitSubSystem(). It is safe to call this function even in the case of errors in initialization.
If you start a subsystem using a call to that subsystem's init function (for example SDL_VideoInit()) instead of SDL_Init() or SDL_InitSubSystem(), then you must use that subsystem's quit function (SDL_VideoQuit()) to shut it down before calling SDL_Quit(). But generally, you should not be using those functions directly anyhow; use SDL_Init() instead.
You can use this function with atexit() to ensure that it is run when your application is shutdown, but it is not wise to do this from a library or other dynamically loaded code.
#include "SDL.h"
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char** argv) {
if (SDL_Init(SDL_INIT_EVERYTHING) != 0) {
"Unable to initialize SDL: %s\n", SDL_GetError());
fprintf(stderr, return 1;
}
atexit(SDL_Quit);
/* ... */
return 0;
}