SDL Wiki

Initialization and Shutdown

'''Include File(s):''' [ SDL.h]


The functions in this category are used to set up SDL for use and generally have global effects in your program.

=== Introduction to Initialization === To begin using SDL in your program [SDL_Init] must be called before most other SDL functions. The role of [SDL_Init] is to properly initialize the SDL library and start each of the various subsystems requested as part of the call.

: {i} The [[CategoryIO|File I/O]] and [[CategoryThread|Threading]] subsystems are initialized by default. To initialize other subsystems you must specifically call them. Multiple subsystems may be OR'd together. : ''Example:'' :: SDL_Init(SDL_INIT_VIDEO|SDL_INIT_AUDIO); :: This initializes the 2 default subsystems plus the [[CategoryVideo|Video]], [[CategoryAudio|Audio]], and [[CategoryEvents|Event Handling]] subsystems. :: The [[CategoryEvents|Event Handling]] subsystem is initialized implicitly by the [[CategoryVideo|Video]] subsystem. ::

It should be noted that on some operating systems, [SDL_Init] will fail if SDL_main() has not been defined as the entry point for the program. Calling [SDL_SetMainReady] prior to [SDL_Init] will circumvent this failure condition, however, users should be careful when calling [SDL_SetMainReady] as improper initialization may cause crashes and hard to diagnose problems.

=== Introduction to Shut Down === [SDL_Quit] should be called before an SDL application exits to safely shut down all subsystems, including the default ones.


<<FullSearchCached(category:CategoryInit -CategoryEnum -CategoryStruct -title:SGFunctions)>>

[ edit | delete | history | feedback | raw ]

[ front page | index | search | recent changes | git repo | offline html ]

All wiki content is licensed under Creative Commons Attribution 4.0 International (CC BY 4.0).
Wiki powered by ghwikipp.