void SDL_QuitSubSystem(Uint32 flags)
flags | SDL_Init()と同じ |
#include "SDL.h"
/* ... */
int main(int argc, char **argv) {
int sdl_initialized = 0;
sdl_initialized = !SDL_Init(0);
/* ... ここでコンソールの処理を行う ... */
if (sdl_initialized && SDL_InitSubSystem(SDL_INIT_VIDEO)) {
display_graph();
SDL_QuitSubSystem(SDL_INIT_VIDEO);
}
/* ... ここでさらにコンソールの処理を行う ... */
if (sdl_initialized) SDL_Quit();
return 0;
}
SDL_Init()やSDL_InitSubSystem()の代わりにSDL_VideoInit()等のサブシステム初期化関数を読んでサブシステムを開始した場合, SDL_QuitSubSystem()とSDL_WasInit()は使えない. その場合はSDL_VideoQuit()等のサブシステム終了関数を直接呼ぶ必要がある.
全てのサブシステムをSDL_QuitSubSystem()で終了した場合でもSDL_Quit()を呼ぶ必要がある.