目次 - API(機能別) - 初期化と終了 - SDL_Quit

# SDL_Quit

サブシステムを終了する. いかなる場合でもこの関数を呼ばなければならない.

## 構文

`void SDL_Quit(void)`

## サンプルコード

``

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

    int main(int argc, char** argv) {
        if (SDL_Init(SDL_INIT_EVERYTHING) != 0) {
            fprintf(stderr, "SDLを初期化できなかった:  %s\n", SDL_GetError());
            return 1;
        }
        atexit(SDL_Quit);

        /* ... */

        return 0;
    }

## 詳細

SDL_QuitSubSystem()で既に個別にサブシステムを終了した場合でもこの関数を呼ばなければならない. 初期化中にエラーが発生した場合でもこの関数は呼んでも安全である.

SDL_Init()やSDL_InitSubSystem()の代わりにSDL_VideoInit()等のサブシステム初期化関数を呼んでサブシステムを開始した場合は, SDL_Quit()を呼ぶ前にSDL_VideoQuit()等のサブシステム終了関数を呼ぶ必要がある. しかし, 一般的にはこれらの関数を使う必要はなく, SDL_Init()を使ったほうがよい.

この関数はatexit()でアプリケーションが終了するときに必ず呼ばれるようにすることができる. しかしライブラリや他の動的に読み込まれるコードでそのようにするのはよい方法ではない.

## バージョン

SDL 2.0.0以降

## 関連項目(関数)

SDL_Init
SDL_QuitSubSystem

## SDL Wikiへのリンク

SDL_Quit - SDL Wiki