目次 - API(機能別) - バイト順と交換
バイト順と交換
概要
エンディアンで異なる値のバイト順の変換を行う関数.
これらの関数は, 無条件のバイト交換(SDL_Swap16, SDL_Swap32, SDL_Swap64, SDL_SwapFloat)と,
システムのネイティブのバイト順への/からの交換(SDL_Swap16LE, SDL_Swap16BE, SDL_Swap32LE, SDL_Swap32BE, SDL_Swap64LE, SDL_Swap64BE, SDL_SwapFloatLE, SDL_SwapFloatBE)の両方を行える.
後者の関数は, 機能はマクロで提供され, 交換の必要がない場合は何も行わない. 例えば, x86(リトルエンディアン)プロセッサならば, SDL_Swap32LEは何も行わないが, SDL_Swap32BEはバイト順を入れ替える.
PowerPC(ビッグエンディアン)ならば, マクロは逆に機能する.
交換ルーチンはインライン関数で, コンパイラの組み込み関数や, インラインアセンブリや, その他の方法で効率的なバイト交換を行おうとする.
関数
- SDL_Swap16 - 符号なし16ビット整数をバイト交換する
- SDL_Swap32 - 符号なし32ビット整数をバイト交換する
- SDL_Swap64 - 符号なし64ビット整数をバイト交換する
- SDL_SwapFloat - 浮動小数点の値のバイト交換する
マクロ
- SDL_BIG_ENDIAN - バイト順がビッグエンディアンであることを表す値のマクロ
- SDL_BYTEORDER - システムのバイト順を報告するマクロ
- SDL_FLOATWORDORDER - システムの浮動小数点のワード順を報告するマクロ
- SDL_LIL_ENDIAN - バイト順がリトルエンディアンであることを表す値のマクロ
- SDL_Swap16BE - バイト順がビッグエンディアンの符号なし16ビット整数をネイティブのバイト順に変換する
- SDL_Swap16LE - バイト順がリトルエンディアンの符号なし16ビット整数をネイティブのバイト順に変換する
- SDL_Swap32BE - バイト順がビッグエンディアンの符号なし32ビット整数をネイティブのバイト順に変換する
- SDL_Swap32LE - バイト順がリトルエンディアンの符号なし32ビット整数をネイティブのバイト順に変換する
- SDL_Swap64BE - バイト順がビッグエンディアンの符号なし64ビット整数をネイティブのバイト順に変換する
- SDL_Swap64LE - バイト順がリトルエンディアンの符号なし64ビット整数をネイティブのバイト順に変換する
- SDL_SwapFloatBE - バイト順がビッグエンディアンの浮動小数点の値をネイティブのバイト順に変換する
- SDL_SwapFloatLE - バイト順がリトルエンディアンの浮動小数点の値をネイティブのバイト順に変換する
SDL Wikiへのリンク
SDL3/CategoryEndian - SDL Wiki