目次 - 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()よりも安全な関数も提供している.

関数

  1. SDL_abs - xの絶対値を求める
  2. SDL_acos - xのアークコサインを求める
  3. SDL_acosf - xのアークコサインを求める
  4. SDL_aligned_alloc - アライメントを指定してメモリを確保する
  5. SDL_aligned_free - SDL_aligned_alloc()で確保したメモリを解放する
  6. SDL_asin - xのアークサインを求める
  7. SDL_asinf - xのアークサインを求める
  8. SDL_asprintf - asprintf()と同機能だがCランタイムを必要としない関数
  9. SDL_atan - xのアークタンジェントを求める
  10. SDL_atan2 - y / xのアークタンジェントを求める. 解の象限を決定するためにxとyの符号を使用する
  11. SDL_atan2f - y / xのアークタンジェントを求める. 解の象限を決定するためにxとyの符号を使用する
  12. SDL_atanf - xのアークタンジェントを求める
  13. SDL_atof - 文字列を解析してdouble型の数値に変換する
  14. SDL_atoi - 文字列を解析してint型の数値に変換する
  15. SDL_bsearch - ソートされた配列にバイナリサーチを行う
  16. SDL_bsearch_r - ソートされた配列に比較関数にユーザデータを渡してバイナリサーチを行う
  17. SDL_calloc - 0で初期化された配列を確保する
  18. SDL_ceil - xを切り上げた値を求める
  19. SDL_ceilf - xを切り上げた値を求める
  20. SDL_copysign - ある浮動小数点の値の符号を別の浮動小数点の符号にコピーする
  21. SDL_copysignf - ある浮動小数点の値の符号を別の浮動小数点の符号にコピーする
  22. SDL_cos - xのコサインを求める
  23. SDL_cosf - xのコサインを求める
  24. SDL_crc16 - CRC-16を求める
  25. SDL_crc32 - CRC-32を求める
  26. SDL_CreateEnvironment - 環境変数セットを生成する
  27. SDL_DestroyEnvironment - 環境変数セットを破棄する
  28. SDL_exp - 自然対数の底のx乗を求める
  29. SDL_expf - 自然対数の底のx乗を求める
  30. SDL_fabs - xの絶対値を求める
  31. SDL_fabsf - xの絶対値を求める
  32. SDL_floor - xを切り捨てた値を求める
  33. SDL_floorf - xを切り捨てた値を求める
  34. SDL_fmod - 浮動小数点のx / yの余りを求める
  35. SDL_fmodf - 浮動小数点のx / yの余りを求める
  36. SDL_free - 確保したメモリを解放する
  37. SDL_getenv - 環境変数の値を得る
  38. SDL_getenv_unsafe - 環境変数の値を得る
  39. SDL_GetEnvironment - プロセスの環境変数セットを得る
  40. SDL_GetEnvironmentVariable - 環境変数セットから環境変数の値を得る
  41. SDL_GetEnvironmentVariables - 環境変数セットから全ての環境変数の値を得る
  42. SDL_GetMemoryFunctions - 現在のSDLメモリ関数を得る
  43. SDL_GetNumAllocations - 解放されていないメモリ領域の数を得る
  44. SDL_GetOriginalMemoryFunctions - 元のSDLメモリ関数を得る
  45. SDL_iconv - 読込バッファのテキストのテキストの文字コードを変換して書込バッファに書き込む
  46. SDL_iconv_close - 指定の文字コードへの変換を解放する
  47. SDL_iconv_open - 指定の文字コードへの変換を割り当てる
  48. SDL_iconv_string - 文字列の文字コードを変換する
  49. SDL_isalnum - 文字がアルファベットまたは数字であるかチェックする
  50. SDL_isalpha - 文字がアルファベットであるかチェックする
  51. SDL_isblank - 文字がブランク(空白またはタブ)であるかチェックする
  52. SDL_iscntrl - 文字が制御文字であるかチェックする
  53. SDL_isdigit - 文字が数字であるかチェックする
  54. SDL_isgraph - 文字が空白を除く表示可能な文字であるかチェックする
  55. SDL_isinf - 数値が無限であるかチェックする
  56. SDL_isinff - 数値が無限であるかチェックする
  57. SDL_islower - 文字が小文字であるかチェックする
  58. SDL_isnan - 数値が非数であるかチェックする
  59. SDL_isnanf - 数値が非数であるかチェックする
  60. SDL_isprint - 文字が表示可能な文字であるかチェックする
  61. SDL_ispunct - 文字が記号であるかチェックする
  62. SDL_isspace - 文字が空白であるかチェックする
  63. SDL_isupper - 文字が大文字であるかチェックする
  64. SDL_isxdigit - 文字が16進数の数字であるかチェックする
  65. SDL_itoa - int型の整数を文字列に変換する
  66. SDL_lltoa - long long型の整数を文字列に変換する
  67. SDL_log - xの自然対数を求める
  68. SDL_log10 - xの常用対数を求める
  69. SDL_log10f - xの常用対数を求める
  70. SDL_logf - xの自然対数を求める
  71. SDL_lround - xを四捨五入したlong型の値を求める
  72. SDL_lroundf - xを四捨五入したlong型の値を求める
  73. SDL_ltoa - long型の整数を文字列に変換する
  74. SDL_malloc - メモリを初期化せずに確保する
  75. SDL_memcmp - 2つのメモリバッファを比較する
  76. SDL_memcpy - メモリをコピーする. 領域が重なっていてはならない
  77. SDL_memmove - メモリをコピーする. 領域が重なっていてもよい
  78. SDL_memset - メモリバッファの全てのバイトを指定した値で初期化する
  79. SDL_memset4 - メモリバッファを指定した32ビットの値で初期化する
  80. SDL_modf - xの整数部と小数部を求める
  81. SDL_modff - xの整数部と小数部を求める
  82. SDL_murmur3_32 - データブロックの32ビットMurmurHash3の値を求める
  83. SDL_pow - xのy乗を求める
  84. SDL_powf - xのy乗を求める
  85. SDL_qsort - 配列をソートする
  86. SDL_qsort_r - 比較関数にユーザデータを渡してソートする
  87. SDL_rand - 正の整数n未満の疑似乱数を生成する
  88. SDL_rand_bits - 32ビットの疑似乱数を生成する
  89. SDL_rand_bits_r - 32ビットの疑似乱数を生成する
  90. SDL_rand_r - 正の整数n未満の疑似乱数を生成する
  91. SDL_randf - 1.0未満に正規化された符号小数点の疑似乱数を生成する
  92. SDL_randf_r - 1.0未満に正規化された符号小数点の疑似乱数を生成する
  93. SDL_realloc - サイズを変更してメモリを再確保する
  94. SDL_round - xを四捨五入した値を求める
  95. SDL_roundf - xを四捨五入した値を求める
  96. SDL_scalbn - 2の整数乗のx倍を求める
  97. SDL_scalbnf - 2の整数乗のx倍を求める
  98. SDL_setenv_unsafe - 環境変数に値を設定する
  99. SDL_SetEnvironmentVariable - 環境変数セットの環境変数の値を設定する
  100. SDL_SetMemoryFunctions - SDLのメモリ関数を置き換える
  101. SDL_sin - xのサインを求める
  102. SDL_sinf - xのサインを求める
  103. SDL_size_add_check_overflow - 2つの整数を加算しオーバーフローをチェックする
  104. SDL_size_mul_check_overflow - 2つの整数を乗算しオーバーフローをチェックする
  105. SDL_snprintf - snprintf()と同機能だがCランタイムを必要としない関数
  106. SDL_sqrt - xの平方根を求める
  107. SDL_sqrtf - xの平方根を求める
  108. SDL_srand - 疑似乱数のシード値を設定する
  109. SDL_sscanf - sscanf()と同機能だがCランタイムを必要としない関数
  110. SDL_StepBackUTF8 - UTF-8文字列から1つのコードポイントを逆順にデコードする
  111. SDL_StepUTF8 - UTF-8文字列から1つのコードポイントをデコードする
  112. SDL_strcasecmp - 2つのNUL終端のUTF-8文字列を大文字小文字を無視して比較する
  113. SDL_strcasestr - UTF-8文字列から最初に一致する文字列を大文字小文字を無視して検索する
  114. SDL_strchr - 文字列から最初に一致するバイトを検索する
  115. SDL_strcmp - 2つのNUL終端のUTF-8文字列を比較する
  116. SDL_strdup - メモリを確保して文字列をコピーする
  117. SDL_strlcat - 文字列を結合する
  118. SDL_strlcpy - 文字列をコピーする
  119. SDL_strlen - strlen()と同機能だがCランタイムを必要としない関数
  120. SDL_strlwr - 文字列を小文字に変換する
  121. SDL_strncasecmp - 2つのNUL終端のUTF-8文字列を大文字小文字を無視して最大nバイトを比較する
  122. SDL_strncmp - 2つのNUL終端のUTF-8文字列の最大nバイトを比較する
  123. SDL_strndup - メモリを確保して最大n文字の文字列をコピーする
  124. SDL_strnlen - strnlen()と同機能だがCランタイムを必要としない関数
  125. SDL_strnstr - 文字列から最初に一致する文字列を最大nバイトの範囲で検索する
  126. SDL_strpbrk - 文字列から最初に一致する文字セット内の文字を検索し, その文字の位置へのポインタを戻す
  127. SDL_strrchr - 文字列から最後に一致するバイトを検索する
  128. SDL_strrev - 文字列の順序を逆にする
  129. SDL_strstr - 文字列から最初に一致する文字列を検索する
  130. SDL_strtod - 文字列を解析してdouble型の数値に変換する
  131. SDL_strtok_r - strtok_r()と同機能だがCランタイムを必要としない関数
  132. SDL_strtol - 文字列を解析してlong型の数値に変換する
  133. SDL_strtoll - 文字列を解析してlong long型の数値に変換する
  134. SDL_strtoul - 文字列を解析してunsigned long型の数値に変換する
  135. SDL_strtoull - 文字列を解析してunsigned long long型の数値に変換する
  136. SDL_strupr - 文字列を大文字に変換する
  137. SDL_swprintf - swprintf()と同機能だがCランタイムを必要としない関数
  138. SDL_tan - xのタンジェントを求める
  139. SDL_tanf - xのタンジェントを求める
  140. SDL_tolower - ASCII文字のアルファベットを小文字に変換する
  141. SDL_toupper - ASCII文字のアルファベットを大文字に変換する
  142. SDL_trunc - xの整数部を求める
  143. SDL_truncf - xの整数部を求める
  144. SDL_UCS4ToUTF8 - 1つのUnicodeコードポイントをUTF-8に変換する
  145. SDL_uitoa - unsigned int型の整数を文字列に変換する
  146. SDL_ulltoa - unsigned long long型の整数を文字列に変換する
  147. SDL_ultoa - unsigned long型の整数を文字列に変換する
  148. SDL_unsetenv_unsafe - 環境変数の値を消去する
  149. SDL_UnsetEnvironmentVariable - 環境変数セットの環境変数の値を消去する
  150. SDL_utf8strlcpy - UTF-8文字列をコピーする
  151. SDL_utf8strlen - UTF-8文字列のコードポイントの数を求める
  152. SDL_utf8strnlen - 最大nバイトのUTF-8文字列のコードポイントの数を求める
  153. SDL_vasprintf - vasprintf()と同機能だがCランタイムを必要としない関数
  154. SDL_vsnprintf - vsnprintf()と同機能だがCランタイムを必要としない関数
  155. SDL_vsscanf - vsscanf()と同機能だがCランタイムを必要としない関数
  156. SDL_vswprintf - vswprintf()と同機能だがCランタイムを必要としない関数
  157. SDL_wcscasecmp - 2つのNUL終端のワイド文字列を大文字小文字を無視して比較する
  158. SDL_wcscmp - 2つのNUL終端のワイド文字列を比較する
  159. SDL_wcsdup - メモリを確保してワイド文字列をコピーする
  160. SDL_wcslcat - ワイド文字列を結合する
  161. SDL_wcslcpy - ワイド文字列をコピーする
  162. SDL_wcslen - wcslen()と同機能だがCランタイムを必要としない関数
  163. SDL_wcsncasecmp - 2つのNUL終端のワイド文字列を大文字小文字を無視して最大n w_char個をを比較する
  164. SDL_wcsncmp - 2つのNUL終端のワイド文字列の最大n w_char個をを比較する
  165. SDL_wcsnlen - wcsnlen()と同機能だがCランタイムを必要としない関数
  166. SDL_wcsnstr - ワイド文字列から最初に一致するワイド文字列をn wchar_t数の範囲で検索する
  167. SDL_wcsstr - ワイド文字列から最初に一致するワイド文字列を検索する
  168. SDL_wcstol - ワイド文字列を解析してlong型の数値に変換する

  1. SDL_calloc_func - SDL_calloc()で使用するコールバックの型
  2. SDL_CompareCallback - SDLがソートとバイナリサーチで使用するコールバックの型
  3. SDL_CompareCallback_r - SDLがソートとバイナリサーチで使用するコールバックの型
  4. SDL_Environment - スレッドセーフな環境変数セットの型
  5. SDL_free_func - SDL_free()で使用するコールバックの型
  6. SDL_FunctionPointer - 汎用的な関数ポインタの型
  7. SDL_iconv_t - 文字列の文字コード変換状態を表す不透明ハンドル型
  8. SDL_malloc_func - SDL_malloc_func()で使用するコールバックの型
  9. SDL_realloc_func - SDL_realloc()で使用するコールバックの型
  10. SDL_Time - UNIXエポック(1970年1月1日)からのナノ秒を表す符号あり64ビット整数の型
  11. Sint16 - 符号あり16ビット整数型
  12. Sint32 - 符号あり32ビット整数型
  13. Sint64 - 符号あり64ビット整数型
  14. Sint8 - 符号あり8ビット整数型
  15. Uint16 - 符号なし16ビット整数型
  16. Uint32 - 符号なし32ビット整数型
  17. Uint64 - 符号なし64ビット整数型
  18. Uint8 - 符号なし8ビット整数型

マクロ

  1. SDL_arraysize - 静的配列の要素数を得るマクロ
  2. SDL_clamp - 範囲内に収めた値を戻す
  3. SDL_COMPILE_TIME_ASSERT - コンパイル時アサーションのマクロ
  4. SDL_const_cast - CまたはC++のconstキャストのマクロ
  5. SDL_copyp - 基本的な型チェックを行いオブジェクト同士のメモリコピーするマクロ
  6. SDL_FLT_EPSILON - 浮動小数点の値の比較で使用するイプシロン定数のマクロ
  7. SDL_FOURCC - FOURCCをUint32として定義するマクロ
  8. SDL_iconv_utf8_locale - UTF-8文字列を現在のロケールの文字コードに変換するマクロ
  9. SDL_iconv_utf8_ucs2 - UTF-8文字列をUCS-2に変換するマクロ
  10. SDL_iconv_utf8_ucs4 - UTF-8文字列をUCS-4に変換するマクロ
  11. SDL_iconv_wchar_utf8 - wchar_t文字列をUTF-8に変換するマクロ
  12. SDL_IN_BYTECAP - 関数の入力パラメータのバッファサイズに対するアノテーションのマクロ
  13. SDL_INIT_INTERFACE - SDLインターフェースを初期化するマクロ
  14. SDL_INOUT_Z_CAP - 関数の入出力パラメータの文字列バッファサイズに対するアノテーションのマクロ
  15. SDL_INVALID_UNICODE_CODEPOINT - Unicodeの置換文字のコードポイントのマクロ
  16. SDL_max - 2つの値の大きい方を戻す
  17. SDL_min - 2つの値の小さい方を戻す
  18. SDL_NOLONGLONG - SDLがCのlong long型を使用しないようにするマクロ
  19. SDL_OUT_BYTECAP - 関数の出力パラメータのバッファサイズに対するアノテーションのマクロ
  20. SDL_OUT_CAP - 関数の出力パラメータのバッファサイズに対するアノテーションのマクロ
  21. SDL_OUT_Z_BYTECAP - 関数の出力パラメータの文字列バッファサイズに対するアノテーションのマクロ
  22. SDL_OUT_Z_CAP - 関数の出力パラメータの文字列バッファサイズに対するアノテーションのマクロ
  23. SDL_PI_D - 倍精度浮動小数点による円周率の値のマクロ
  24. SDL_PI_F - 単精度浮動小数点による円周率の値のマクロ
  25. SDL_PRILL_PREFIX - printf形式文字列のlong long型の値のサイズ接頭辞のマクロ
  26. SDL_PRILLd - printf形式文字列のlong long型の値の変換書式のマクロ
  27. SDL_PRILLu - printf形式文字列のunsigned long long型の値の変換書式のマクロ
  28. SDL_PRILLx - printf形式文字列のunsigned long long型の値の小文字による16進数表記の変換書式のマクロ
  29. SDL_PRILLX - printf形式文字列のunsigned long long型の値の大文字による16進数表記の変換書式のマクロ
  30. SDL_PRINTF_FORMAT_STRING - 関数のprintf形式の文字列に対するアノテーションのマクロ
  31. SDL_PRINTF_VARARG_FUNC - 可変長引数をprintfのように使用する関数に対するアノテーションのマクロ
  32. SDL_PRINTF_VARARG_FUNCV - va_listをprintfのように使用する関数に対するアノテーションのマクロ
  33. SDL_PRIs32 - printf形式文字列のSint32型の値の変換書式のマクロ
  34. SDL_PRIs64 - printf形式文字列のSint64型の値の変換書式のマクロ
  35. SDL_PRIu32 - printf形式文字列のUint32型の値の変換書式のマクロ
  36. SDL_PRIu64 - printf形式文字列のUint64型の値の変換書式のマクロ
  37. SDL_PRIx32 - printf形式文字列のUint32型の値の小文字による16進数表記の変換書式のマクロ
  38. SDL_PRIX32 - printf形式文字列のUint32型の値の大文字による16進数表記の変換書式のマクロ
  39. SDL_PRIx64 - printf形式文字列のUint64型の値の小文字による16進数表記の変換書式のマクロ
  40. SDL_PRIX64 - printf形式文字列のUint64型の値の大文字による16進数表記の変換書式のマクロ
  41. SDL_reinterpret_cast - CまたはC++のreinterpretキャストのマクロ
  42. SDL_SCANF_FORMAT_STRING - 関数のscanf形式の文字列に対するアノテーションのマクロ
  43. SDL_SCANF_VARARG_FUNC - 可変長引数をscanfのように使用する関数に対するアノテーションのマクロ
  44. SDL_SCANF_VARARG_FUNCV - va_listをscanfのように使用する関数に対するアノテーションのマクロ
  45. SDL_SINT64_C - 64ビット整数に符号あり整数リテラルを表す接尾辞を付ける
  46. SDL_SIZE_MAX - size_t型の最大値のマクロ
  47. SDL_stack_alloc - (可能ならば)スタックにメモリを確保する
  48. SDL_stack_free - SDL_stack_allocで確保したメモリを解放する
  49. SDL_static_cast - CまたはC++のstaticキャストのマクロ
  50. SDL_STRINGIFY_ARG - 文字列を組み合わせて別のマクロを構成するためのマクロ
  51. SDL_UINT64_C - 64ビット整数に符号なし整数リテラルを表す接尾辞を付ける
  52. SDL_WPRINTF_VARARG_FUNC - 可変長引数をwprintfのように使用する関数に対するアノテーションのマクロ
  53. SDL_WPRINTF_VARARG_FUNCV - va_listをwprintfのように使用する関数に対するアノテーションのマクロ
  54. SDL_zero - オブジェクトのメモリを0でクリアする
  55. SDL_zeroa - 配列のメモリを0でクリアする
  56. SDL_zerop - ポインタを使用してオブジェクトのメモリを0でクリアする

SDL Wikiへのリンク

SDL3/CategoryStdinc - SDL Wiki