目次 - SDL 3.0 API(機能別) - メイン - SDL_AppInit

SDL_AppInit

メインコールバックを使用する場合, アプリケーションが実装する初期化処理エントリーポイント

ヘッダ

SDL3/SDL_main.h

構文

SDL_AppResult SDL_AppInit(void **appstate, int argc, char *argv[]);

引数

void **appstate後のエントリーポイントで任意で使用できるポインタ
intargcANSI-Cスタイルのmain関数のargc. argvの要素数
char **argvANSI-Cスタイルのmain関数のargv. コマンドライン引数の配列

戻り値

(SDL_AppResult) エラーで終了させるときSDL_APP_FAILURE, 成功で終了させるときSDL_APP_SUCCESS, 継続するときSDL_APP_CONTINUEを戻す.

詳細

SDL_MAIN_USE_CALLBACKSを使用する場合, アプリケーションはこの関数を実装すること. 標準の"main"関数を使用する場合, この関数をSDLに提供してはならない.

この関数は起動時に一度だけSDLに呼ばれる. ウィンドウの作成やオーディオデバイスのオープンなど, 必要なことは全てこの関数で初期化する必要がある. argcargv引数は, 標準の"main"関数と同様の値を取る.

この関数で無限ループに入ってはならない. ここでは必要な一度のセットアップを行い, その後に戻る必要がある.

アプリケーションは任意でポインタを*appstateに設定することができる. このポインタは, 後で呼び出す各エントリーポイントに渡されるため, これを利用するとアプリケーションの状態をグローバル変数を使わずに関数間で共有することができる. これを設定しない場合, 後のエントリーポイントではポインタはNULLになる.

この関数がSDL_APP_CONTINUEを戻した場合, アプリケーションは通常通りに進み, アプリケーションの実行中のSDL_AppIterateSDL_AppEventの呼び出しの繰り返しが始まる. SDL_APP_FAILUREを戻した場合, SDLはSDL_AppQuitを呼び, エラーを報告する終了コードでプロセスを終了させる. SDL_APP_SUCCESSを戻した場合, SDLはSDL_AppQuitを呼び, 正常終了を報告する終了コードでプロセスを終了させる.

この関数は, SDLによってメインスレッドで呼ばれる.

バージョン

SDL 3.2.0以降

関連項目

SDL Wikiへのリンク

SDL_AppInit - SDL Wiki