目次 - SDL 3.0 API(機能別) - 初期化と終了 - SDL_Init

SDL_Init

SDLライブラリを初期化する. 他のほとんどのSDLの関数を呼び出す前にこの関数を呼ぶ必要がある.

ヘッダ

SDL3/SDL_init.h

構文

bool SDL_Init(SDL_InitFlags flags);

引数

SDL_InitFlagsflagsサブシステム初期化フラグ

戻り値

(bool) 成功のとき真, エラーの偽を戻す. SDL_GetError()を呼んで詳細を知ることができる.

詳細

SDL_Init()は単純にSDL_InitSubSystem()に処理を渡している. よって, これら2つは入れ替えられる. コードが読みやすさを考慮するならば, SDL_InitSubSystem()の方がよいかもしれない.

ファイルI/O(例えばSDL_IOFromFile)とスレッドサブシステムは, 何も指定しなくても初期化される. メッセージボックス(SDL_ShowSimpleMessageBox()もビデオサブシステムを初期化せずに使える. 他のサブシステムを使うときは指定して初期化しなければならない.

ログも初期化せずに使うことができる.

flagsはSDL_InitFlagsの論理和(OR)で複数設定できる:

サブシステムの初期化は参照カウントされている. そのため, 手動で正常にサブシステムを終了させるためには, それぞれのSDL_InitSubSystem()に対してSDL_QuitSubSystem()を呼ぶ(またはSDL_Quit()を呼んで強制的に終了する)必要がある. サブシステムが既に読み込まれている場合は, この関数を呼ぶと参照カウントが加算される.

一部の基本的なメタデータは, アプリケーションがSDL_Initを呼ぶ前に, SDL_SetAppMetadata()またはSDL_SetAppMetadataProperty()で通知する必要がある.

バージョン

SDL 3.2.0以降

関連項目

SDL Wikiへのリンク

SDL_Init - SDL Wiki