Scroll to navigation

SDL_Init(3) SDL3 FUNCTIONS SDL_Init(3)

NAME

SDL_Init - Initialize the SDL library.

HEADER FILE

Defined in SDL3/SDL_init.h

SYNOPSIS

#include "SDL3/SDL.h"
bool SDL_Init(SDL_InitFlags flags);

DESCRIPTION

SDL_Init () simply forwards to calling

SDL_InitSubSystem (). Therefore, the two may be used interchangeably. Though for readability of your code

SDL_InitSubSystem () might be preferred.

The file I/O (for example: SDL_IOFromFile ) and threading ( SDL_CreateThread ) subsystems are initialized by default. Message boxes ( SDL_ShowSimpleMessageBox ) also attempt to work without initializing the video subsystem, in hopes of being useful in showing an error dialog when SDL_Init
fails. You must specifically initialize other subsystems if you use them in your application.

Logging (such as SDL_Log ) works without initialization, too. flags may be any of the following OR'd together:

SDL_INIT_AUDIO : audio subsystem; automatically
initializes the events subsystem

SDL_INIT_VIDEO : video subsystem; automatically
initializes the events subsystem

SDL_INIT_JOYSTICK : joystick subsystem;
automatically initializes the events subsystem

SDL_INIT_HAPTIC : haptic (force feedback) subsystem

SDL_INIT_GAMEPAD : gamepad subsystem; automatically
initializes the joystick subsystem

SDL_INIT_EVENTS : events subsystem

SDL_INIT_SENSOR : sensor subsystem; automatically
initializes the events subsystem

SDL_INIT_CAMERA : camera subsystem; automatically
initializes the events subsystem

Subsystem initialization is ref-counted, you must call

SDL_QuitSubSystem () for each

SDL_InitSubSystem () to correctly shutdown a subsystem manually (or call SDL_Quit () to force shutdown). If a subsystem is already loaded then this call will increase the ref-count and return.

Consider reporting some basic metadata about your application before calling SDL_Init , using either

SDL_SetAppMetadata () or

SDL_SetAppMetadataProperty ().

FUNCTION PARAMETERS

subsystem initialization flags.

RETURN VALUE

Returns true on success or false on failure; call

SDL_GetError () for more information.

AVAILABILITY

This function is available since SDL 3.1.3.

SEE ALSO

(3), SDL_SetAppMetadata(3), (3), SDL_SetAppMetadataProperty(3), (3), SDL_InitSubSystem(3), (3), SDL_Quit(3), (3), SDL_SetMainReady(3), (3), SDL_WasInit(3)

SDL 3.1.6 Simple Directmedia Layer