目次 - SDL 3.0 API(機能別) - 標準ライブラリ
標準ライブラリ
概要
SDLは重要なCランタイム関数の一部を自身で実装している.
これらの関数を使うと, アプリケーションは特定のCランタイム(またはCランタイム自体)に依存せずにCの機能にアクセスできる.
さらに重要なのは, SDLの実装は全ての環境で同じなので, アプリケーションはsnprintf()のWindowsとLinuxの動作の違いや, 一部の環境にのみ存在するitoa()などの予期しない問題を避けることができる.
SDL_memcpyのような, 多くの共通関数のほとんどは, SDLは動作が同じならば背後で通常のCランタイムを呼ぶだけであり(高速で利用可能/信頼できるならば), ライブラリのサイズが小さく, 最適化されている.
SDLはのヘッダで, 厳密にはCランタイムの標準ではないSDL_crc32()やSDL_reinterpret_castのようなCランタイムと隣接した機能も提供している.
また, より良い選択肢として, SDL_strlcpy()のようなstrcpy()よりも安全な関数も提供している.
関数
- SDL_abs - xの絶対値を求める
- SDL_acos - xのアークコサインを求める
- SDL_acosf - xのアークコサインを求める
- SDL_aligned_alloc - アライメントを指定してメモリを確保する
- SDL_aligned_free - SDL_aligned_alloc()で確保したメモリを解放する
- SDL_asin - xのアークサインを求める
- SDL_asinf - xのアークサインを求める
- SDL_asprintf - asprintf()と同機能だがCランタイムを必要としない関数
- SDL_atan - xのアークタンジェントを求める
- SDL_atan2 - y / xのアークタンジェントを求める. 解の象限を決定するためにxとyの符号を使用する
- SDL_atan2f - y / xのアークタンジェントを求める. 解の象限を決定するためにxとyの符号を使用する
- SDL_atanf - xのアークタンジェントを求める
- SDL_atof - 文字列を解析してdouble型の数値に変換する
- SDL_atoi - 文字列を解析してint型の数値に変換する
- SDL_bsearch - ソートされた配列にバイナリサーチを行う
- SDL_bsearch_r - ソートされた配列に比較関数にユーザデータを渡してバイナリサーチを行う
- SDL_calloc - 0で初期化された配列を確保する
- SDL_ceil - xを切り上げた値を求める
- SDL_ceilf - xを切り上げた値を求める
- SDL_copysign - ある浮動小数点の値の符号を別の浮動小数点の符号にコピーする
- SDL_copysignf - ある浮動小数点の値の符号を別の浮動小数点の符号にコピーする
- SDL_cos - xのコサインを求める
- SDL_cosf - xのコサインを求める
- SDL_crc16 - CRC-16を求める
- SDL_crc32 - CRC-32を求める
- SDL_CreateEnvironment - 環境変数セットを生成する
- SDL_DestroyEnvironment - 環境変数セットを破棄する
- SDL_exp - 自然対数の底のx乗を求める
- SDL_expf - 自然対数の底のx乗を求める
- SDL_fabs - xの絶対値を求める
- SDL_fabsf - xの絶対値を求める
- SDL_floor - xを切り捨てた値を求める
- SDL_floorf - xを切り捨てた値を求める
- SDL_fmod - 浮動小数点のx / yの余りを求める
- SDL_fmodf - 浮動小数点のx / yの余りを求める
- SDL_free - 確保したメモリを解放する
- SDL_getenv - 環境変数の値を得る
- SDL_getenv_unsafe - 環境変数の値を得る
- SDL_GetEnvironment - プロセスの環境変数セットを得る
- SDL_GetEnvironmentVariable - 環境変数セットから環境変数の値を得る
- SDL_GetEnvironmentVariables - 環境変数セットから全ての環境変数の値を得る
- SDL_GetMemoryFunctions - 現在のSDLメモリ関数を得る
- SDL_GetNumAllocations - 解放されていないメモリ領域の数を得る
- SDL_GetOriginalMemoryFunctions - 元のSDLメモリ関数を得る
- SDL_iconv - 読込バッファのテキストのテキストの文字コードを変換して書込バッファに書き込む
- SDL_iconv_close - 指定の文字コードへの変換を解放する
- SDL_iconv_open - 指定の文字コードへの変換を割り当てる
- SDL_iconv_string - 文字列の文字コードを変換する
- SDL_isalnum - 文字がアルファベットまたは数字であるかチェックする
- SDL_isalpha - 文字がアルファベットであるかチェックする
- SDL_isblank - 文字がブランク(空白またはタブ)であるかチェックする
- SDL_iscntrl - 文字が制御文字であるかチェックする
- SDL_isdigit - 文字が数字であるかチェックする
- SDL_isgraph - 文字が空白を除く表示可能な文字であるかチェックする
- SDL_isinf - 数値が無限であるかチェックする
- SDL_isinff - 数値が無限であるかチェックする
- SDL_islower - 文字が小文字であるかチェックする
- SDL_isnan - 数値が非数であるかチェックする
- SDL_isnanf - 数値が非数であるかチェックする
- SDL_isprint - 文字が表示可能な文字であるかチェックする
- SDL_ispunct - 文字が記号であるかチェックする
- SDL_isspace - 文字が空白であるかチェックする
- SDL_isupper - 文字が大文字であるかチェックする
- SDL_isxdigit - 文字が16進数の数字であるかチェックする
- SDL_itoa - int型の整数を文字列に変換する
- SDL_lltoa - long long型の整数を文字列に変換する
- SDL_log - xの自然対数を求める
- SDL_log10 - xの常用対数を求める
- SDL_log10f - xの常用対数を求める
- SDL_logf - xの自然対数を求める
- SDL_lround - xを四捨五入したlong型の値を求める
- SDL_lroundf - xを四捨五入したlong型の値を求める
- SDL_ltoa - long型の整数を文字列に変換する
- SDL_malloc - メモリを初期化せずに確保する
- SDL_memcmp - 2つのメモリバッファを比較する
- SDL_memcpy - メモリをコピーする. 領域が重なっていてはならない
- SDL_memmove - メモリをコピーする. 領域が重なっていてもよい
- SDL_memset - メモリバッファの全てのバイトを指定した値で初期化する
- SDL_memset4 - メモリバッファを指定した32ビットの値で初期化する
- SDL_modf - xの整数部と小数部を求める
- SDL_modff - xの整数部と小数部を求める
- SDL_murmur3_32 - データブロックの32ビットMurmurHash3の値を求める
- SDL_pow - xのy乗を求める
- SDL_powf - xのy乗を求める
- SDL_qsort - 配列をソートする
- SDL_qsort_r - 比較関数にユーザデータを渡してソートする
- SDL_rand - 正の整数n未満の疑似乱数を生成する
- SDL_rand_bits - 32ビットの疑似乱数を生成する
- SDL_rand_bits_r - 32ビットの疑似乱数を生成する
- SDL_rand_r - 正の整数n未満の疑似乱数を生成する
- SDL_randf - 1.0未満に正規化された符号小数点の疑似乱数を生成する
- SDL_randf_r - 1.0未満に正規化された符号小数点の疑似乱数を生成する
- SDL_realloc - サイズを変更してメモリを再確保する
- SDL_round - xを四捨五入した値を求める
- SDL_roundf - xを四捨五入した値を求める
- SDL_scalbn - 2の整数乗のx倍を求める
- SDL_scalbnf - 2の整数乗のx倍を求める
- SDL_setenv_unsafe - 環境変数に値を設定する
- SDL_SetEnvironmentVariable - 環境変数セットの環境変数の値を設定する
- SDL_SetMemoryFunctions - SDLのメモリ関数を置き換える
- SDL_sin - xのサインを求める
- SDL_sinf - xのサインを求める
- SDL_size_add_check_overflow - 2つの整数を加算しオーバーフローをチェックする
- SDL_size_mul_check_overflow - 2つの整数を乗算しオーバーフローをチェックする
- SDL_snprintf - snprintf()と同機能だがCランタイムを必要としない関数
- SDL_sqrt - xの平方根を求める
- SDL_sqrtf - xの平方根を求める
- SDL_srand - 疑似乱数のシード値を設定する
- SDL_sscanf - sscanf()と同機能だがCランタイムを必要としない関数
- SDL_StepBackUTF8 - UTF-8文字列から1つのコードポイントを逆順にデコードする
- SDL_StepUTF8 - UTF-8文字列から1つのコードポイントをデコードする
- SDL_strcasecmp - 2つのNUL終端のUTF-8文字列を大文字小文字を無視して比較する
- SDL_strcasestr - UTF-8文字列から最初に一致する文字列を大文字小文字を無視して検索する
- SDL_strchr - 文字列から最初に一致するバイトを検索する
- SDL_strcmp - 2つのNUL終端のUTF-8文字列を比較する
- SDL_strdup - メモリを確保して文字列をコピーする
- SDL_strlcat - 文字列を結合する
- SDL_strlcpy - 文字列をコピーする
- SDL_strlen - strlen()と同機能だがCランタイムを必要としない関数
- SDL_strlwr - 文字列を小文字に変換する
- SDL_strncasecmp - 2つのNUL終端のUTF-8文字列を大文字小文字を無視して最大nバイトを比較する
- SDL_strncmp - 2つのNUL終端のUTF-8文字列の最大nバイトを比較する
- SDL_strndup - メモリを確保して最大n文字の文字列をコピーする
- SDL_strnlen - strnlen()と同機能だがCランタイムを必要としない関数
- SDL_strnstr - 文字列から最初に一致する文字列を最大nバイトの範囲で検索する
- SDL_strpbrk - 文字列から最初に一致する文字セット内の文字を検索し, その文字の位置へのポインタを戻す
- SDL_strrchr - 文字列から最後に一致するバイトを検索する
- SDL_strrev - 文字列の順序を逆にする
- SDL_strstr - 文字列から最初に一致する文字列を検索する
- SDL_strtod - 文字列を解析してdouble型の数値に変換する
- SDL_strtok_r - strtok_r()と同機能だがCランタイムを必要としない関数
- SDL_strtol - 文字列を解析してlong型の数値に変換する
- SDL_strtoll - 文字列を解析してlong long型の数値に変換する
- SDL_strtoul - 文字列を解析してunsigned long型の数値に変換する
- SDL_strtoull - 文字列を解析してunsigned long long型の数値に変換する
- SDL_strupr - 文字列を大文字に変換する
- SDL_swprintf - swprintf()と同機能だがCランタイムを必要としない関数
- SDL_tan - xのタンジェントを求める
- SDL_tanf - xのタンジェントを求める
- SDL_tolower - ASCII文字のアルファベットを小文字に変換する
- SDL_toupper - ASCII文字のアルファベットを大文字に変換する
- SDL_trunc - xの整数部を求める
- SDL_truncf - xの整数部を求める
- SDL_UCS4ToUTF8 - 1つのUnicodeコードポイントをUTF-8に変換する
- SDL_uitoa - unsigned int型の整数を文字列に変換する
- SDL_ulltoa - unsigned long long型の整数を文字列に変換する
- SDL_ultoa - unsigned long型の整数を文字列に変換する
- SDL_unsetenv_unsafe - 環境変数の値を消去する
- SDL_UnsetEnvironmentVariable - 環境変数セットの環境変数の値を消去する
- SDL_utf8strlcpy - UTF-8文字列をコピーする
- SDL_utf8strlen - UTF-8文字列のコードポイントの数を求める
- SDL_utf8strnlen - 最大nバイトのUTF-8文字列のコードポイントの数を求める
- SDL_vasprintf - vasprintf()と同機能だがCランタイムを必要としない関数
- SDL_vsnprintf - vsnprintf()と同機能だがCランタイムを必要としない関数
- SDL_vsscanf - vsscanf()と同機能だがCランタイムを必要としない関数
- SDL_vswprintf - vswprintf()と同機能だがCランタイムを必要としない関数
- SDL_wcscasecmp - 2つのNUL終端のワイド文字列を大文字小文字を無視して比較する
- SDL_wcscmp - 2つのNUL終端のワイド文字列を比較する
- SDL_wcsdup - メモリを確保してワイド文字列をコピーする
- SDL_wcslcat - ワイド文字列を結合する
- SDL_wcslcpy - ワイド文字列をコピーする
- SDL_wcslen - wcslen()と同機能だがCランタイムを必要としない関数
- SDL_wcsncasecmp - 2つのNUL終端のワイド文字列を大文字小文字を無視して最大n w_char個をを比較する
- SDL_wcsncmp - 2つのNUL終端のワイド文字列の最大n w_char個をを比較する
- SDL_wcsnlen - wcsnlen()と同機能だがCランタイムを必要としない関数
- SDL_wcsnstr - ワイド文字列から最初に一致するワイド文字列をn wchar_t数の範囲で検索する
- SDL_wcsstr - ワイド文字列から最初に一致するワイド文字列を検索する
- SDL_wcstol - ワイド文字列を解析してlong型の数値に変換する
型
- SDL_calloc_func - SDL_calloc()で使用するコールバックの型
- SDL_CompareCallback - SDLがソートとバイナリサーチで使用するコールバックの型
- SDL_CompareCallback_r - SDLがソートとバイナリサーチで使用するコールバックの型
- SDL_Environment - スレッドセーフな環境変数セットの型
- SDL_free_func - SDL_free()で使用するコールバックの型
- SDL_FunctionPointer - 汎用的な関数ポインタの型
- SDL_iconv_t - 文字列の文字コード変換状態を表す不透明ハンドル型
- SDL_malloc_func - SDL_malloc_func()で使用するコールバックの型
- SDL_realloc_func - SDL_realloc()で使用するコールバックの型
- SDL_Time - UNIXエポック(1970年1月1日)からのナノ秒を表す符号あり64ビット整数の型
- Sint16 - 符号あり16ビット整数型
- Sint32 - 符号あり32ビット整数型
- Sint64 - 符号あり64ビット整数型
- Sint8 - 符号あり8ビット整数型
- Uint16 - 符号なし16ビット整数型
- Uint32 - 符号なし32ビット整数型
- Uint64 - 符号なし64ビット整数型
- Uint8 - 符号なし8ビット整数型
マクロ
- SDL_arraysize - 静的配列の要素数を得るマクロ
- SDL_clamp - 範囲内に収めた値を戻す
- SDL_COMPILE_TIME_ASSERT - コンパイル時アサーションのマクロ
- SDL_const_cast - CまたはC++のconstキャストのマクロ
- SDL_copyp - 基本的な型チェックを行いオブジェクト同士のメモリコピーするマクロ
- SDL_FLT_EPSILON - 浮動小数点の値の比較で使用するイプシロン定数のマクロ
- SDL_FOURCC - FOURCCをUint32として定義するマクロ
- SDL_iconv_utf8_locale - UTF-8文字列を現在のロケールの文字コードに変換するマクロ
- SDL_iconv_utf8_ucs2 - UTF-8文字列をUCS-2に変換するマクロ
- SDL_iconv_utf8_ucs4 - UTF-8文字列をUCS-4に変換するマクロ
- SDL_iconv_wchar_utf8 - wchar_t文字列をUTF-8に変換するマクロ
- SDL_IN_BYTECAP - 関数の入力パラメータのバッファサイズに対するアノテーションのマクロ
- SDL_INIT_INTERFACE - SDLインターフェースを初期化するマクロ
- SDL_INOUT_Z_CAP - 関数の入出力パラメータの文字列バッファサイズに対するアノテーションのマクロ
- SDL_INVALID_UNICODE_CODEPOINT - Unicodeの置換文字のコードポイントのマクロ
- SDL_max - 2つの値の大きい方を戻す
- SDL_min - 2つの値の小さい方を戻す
- SDL_NOLONGLONG - SDLがCのlong long型を使用しないようにするマクロ
- SDL_OUT_BYTECAP - 関数の出力パラメータのバッファサイズに対するアノテーションのマクロ
- SDL_OUT_CAP - 関数の出力パラメータのバッファサイズに対するアノテーションのマクロ
- SDL_OUT_Z_BYTECAP - 関数の出力パラメータの文字列バッファサイズに対するアノテーションのマクロ
- SDL_OUT_Z_CAP - 関数の出力パラメータの文字列バッファサイズに対するアノテーションのマクロ
- SDL_PI_D - 倍精度浮動小数点による円周率の値のマクロ
- SDL_PI_F - 単精度浮動小数点による円周率の値のマクロ
- SDL_PRILL_PREFIX - printf形式文字列のlong long型の値のサイズ接頭辞のマクロ
- SDL_PRILLd - printf形式文字列のlong long型の値の変換書式のマクロ
- SDL_PRILLu - printf形式文字列のunsigned long long型の値の変換書式のマクロ
- SDL_PRILLx - printf形式文字列のunsigned long long型の値の小文字による16進数表記の変換書式のマクロ
- SDL_PRILLX - printf形式文字列のunsigned long long型の値の大文字による16進数表記の変換書式のマクロ
- SDL_PRINTF_FORMAT_STRING - 関数のprintf形式の文字列に対するアノテーションのマクロ
- SDL_PRINTF_VARARG_FUNC - 可変長引数をprintfのように使用する関数に対するアノテーションのマクロ
- SDL_PRINTF_VARARG_FUNCV - va_listをprintfのように使用する関数に対するアノテーションのマクロ
- SDL_PRIs32 - printf形式文字列のSint32型の値の変換書式のマクロ
- SDL_PRIs64 - printf形式文字列のSint64型の値の変換書式のマクロ
- SDL_PRIu32 - printf形式文字列のUint32型の値の変換書式のマクロ
- SDL_PRIu64 - printf形式文字列のUint64型の値の変換書式のマクロ
- SDL_PRIx32 - printf形式文字列のUint32型の値の小文字による16進数表記の変換書式のマクロ
- SDL_PRIX32 - printf形式文字列のUint32型の値の大文字による16進数表記の変換書式のマクロ
- SDL_PRIx64 - printf形式文字列のUint64型の値の小文字による16進数表記の変換書式のマクロ
- SDL_PRIX64 - printf形式文字列のUint64型の値の大文字による16進数表記の変換書式のマクロ
- SDL_reinterpret_cast - CまたはC++のreinterpretキャストのマクロ
- SDL_SCANF_FORMAT_STRING - 関数のscanf形式の文字列に対するアノテーションのマクロ
- SDL_SCANF_VARARG_FUNC - 可変長引数をscanfのように使用する関数に対するアノテーションのマクロ
- SDL_SCANF_VARARG_FUNCV - va_listをscanfのように使用する関数に対するアノテーションのマクロ
- SDL_SINT64_C - 64ビット整数に符号あり整数リテラルを表す接尾辞を付ける
- SDL_SIZE_MAX - size_t型の最大値のマクロ
- SDL_stack_alloc - (可能ならば)スタックにメモリを確保する
- SDL_stack_free - SDL_stack_allocで確保したメモリを解放する
- SDL_static_cast - CまたはC++のstaticキャストのマクロ
- SDL_STRINGIFY_ARG - 文字列を組み合わせて別のマクロを構成するためのマクロ
- SDL_UINT64_C - 64ビット整数に符号なし整数リテラルを表す接尾辞を付ける
- SDL_WPRINTF_VARARG_FUNC - 可変長引数をwprintfのように使用する関数に対するアノテーションのマクロ
- SDL_WPRINTF_VARARG_FUNCV - va_listをwprintfのように使用する関数に対するアノテーションのマクロ
- SDL_zero - オブジェクトのメモリを0でクリアする
- SDL_zeroa - 配列のメモリを0でクリアする
- SDL_zerop - ポインタを使用してオブジェクトのメモリを0でクリアする
SDL Wikiへのリンク
SDL3/CategoryStdinc - SDL Wiki