目次 - 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_GetNumAllocations
- SDL_GetOriginalMemoryFunctions
- 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
- SDL_rand_bits_r
- SDL_rand_r - 正の整数n未満の疑似乱数を生成する
- SDL_randf
- SDL_randf_r
- SDL_realloc - サイズを変更してメモリを再確保する
- SDL_round - xを四捨五入した値を求める
- SDL_roundf - xを四捨五入した値を求める
- SDL_scalbn
- SDL_scalbnf
- SDL_setenv_unsafe - 環境変数に値を設定する
- SDL_SetEnvironmentVariable - 環境変数セットの環境変数の値を設定する
- SDL_SetMemoryFunctions
- SDL_sin - xのサインを求める
- SDL_sinf - xのサインを求める
- SDL_size_add_check_overflow
- SDL_size_mul_check_overflow
- SDL_snprintf - snprintf()と同機能だがCランタイムを必要としない関数
- SDL_sqrt - xの平方根を求める
- SDL_sqrtf - xの平方根を求める
- SDL_srand
- SDL_sscanf
- SDL_StepBackUTF8
- SDL_StepUTF8
- 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
- SDL_toupper
- SDL_trunc - xの整数部を求める
- SDL_truncf - xの整数部を求める
- SDL_UCS4ToUTF8
- 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
- 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_CompareCallback
- SDL_CompareCallback_r
- SDL_Environment - スレッドセーフな環境変数セットの型
- SDL_free_func
- SDL_FunctionPointer - 汎用的な関数ポインタの型
- SDL_iconv_t
- SDL_malloc_func
- SDL_realloc_func
- 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
- SDL_copyp
- SDL_FLT_EPSILON
- SDL_FOURCC
- SDL_iconv_utf8_locale
- SDL_iconv_utf8_ucs2
- SDL_iconv_utf8_ucs4
- SDL_iconv_wchar_utf8
- SDL_IN_BYTECAP
- SDL_INIT_INTERFACE - SDLインターフェースを初期化するマクロ
- SDL_INOUT_Z_CAP
- SDL_INVALID_UNICODE_CODEPOINT
- SDL_max
- SDL_min
- SDL_NOLONGLONG
- SDL_OUT_BYTECAP
- SDL_OUT_CAP
- SDL_OUT_Z_BYTECAP
- SDL_OUT_Z_CAP
- SDL_PI_D
- SDL_PI_F
- SDL_PRILL_PREFIX
- SDL_PRILLd
- SDL_PRILLu
- SDL_PRILLx
- SDL_PRILLX
- SDL_PRINTF_FORMAT_STRING
- SDL_PRINTF_VARARG_FUNC
- SDL_PRINTF_VARARG_FUNCV
- SDL_PRIs32
- SDL_PRIs64
- SDL_PRIu32
- SDL_PRIu64
- SDL_PRIX32
- SDL_PRIx32
- SDL_PRIx64
- SDL_PRIX64
- SDL_reinterpret_cast
- SDL_SCANF_FORMAT_STRING
- SDL_SCANF_VARARG_FUNC
- SDL_SCANF_VARARG_FUNCV
- SDL_SINT64_C
- SDL_SIZE_MAX
- SDL_stack_alloc
- SDL_static_cast
- SDL_STRINGIFY_ARG
- SDL_UINT64_C
- SDL_WPRINTF_VARARG_FUNC
- SDL_WPRINTF_VARARG_FUNCV
- SDL_zero
- SDL_zeroa
- SDL_zerop
SDL Wikiへのリンク
SDL3/CategoryStdinc - SDL Wiki