ここに分類される関数は, アサーション(検証)に関するものである.
SDL_assert() 対 標準assert()マクロの議論と, 実装に関する技術的な説明は, RyanのGoogle+の投稿にある.
SDL_ASSERT_LEVELは, コンパイル中に関数を生成するか選択することで, どのアサーションが有効になるかに影響する. (詳細は下記.)
SDL_ASSERT_LEVELは自分で設定できる. もし設定されなければ, SDL_ASSERT_LEVELはデバッグ時は2で, リリース時は1となる.
次の表は, それぞれのSDL_ASSERT_LEVELの設定と, SDL_assert関数に与える影響の対応である.
SDL_ASSERT_LEVEL | 説明 | 関数 | 有効・無効 |
---|---|---|---|
0 | 全てのアサーションは無効になる | SDL_assert | 無効 |
SDL_assert_release | 無効 | ||
SDL_assert_paranoid | 無効 | ||
1 | リリース用 (デフォルト) | SDL_assert | 無効 |
SDL_assert_release | 有効 | ||
SDL_assert_paranoid | 無効 | ||
2 | デバッグ用 (デフォルト) | SDL_assert | 有効 |
SDL_assert_release | 有効 | ||
SDL_assert_paranoid | 無効 | ||
3 | 厳格なチェック用 | SDL_assert | 有効 |
SDL_assert_release | 有効 | ||
SDL_assert_paranoid | 有効 |