Wiki Page Content


Use this function to clean up all initialized subsystems. You should call it upon all exit conditions.


void SDL_Quit(void)

Code Examples

#include "SDL.h"
#include <stdio.h>
#include <stdlib.h>

int main(int argc, char** argv) {
    if (SDL_Init(SDL_INIT_EVERYTHING) != 0) {
        fprintf(stderr, "Unable to initialize SDL:  %s\n", SDL_GetError());
        return 1;

    /* ... */

    return 0;


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().

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.

CategoryAPI, CategoryInit

None: SDL_Quit (last edited 2015-01-07 02:59:53 by Joseph Carter)

Please include your contact information if you'd like to receive a reply.