目次 - API(機能別) - バイト順と交換

バイト順と交換

概要

エンディアンで異なる値のバイト順の変換を行う関数.

これらの関数は, 無条件のバイト交換(SDL_Swap16, SDL_Swap32, SDL_Swap64, SDL_SwapFloat)と, システムのネイティブのバイト順への/からの交換(SDL_Swap16LE, SDL_Swap16BE, SDL_Swap32LE, SDL_Swap32BE, SDL_Swap32LE, SDL_Swap32BE, SDL_SwapFloatLE, SDL_SwapFloatBE)の両方を行える. 後者の関数は, 機能はマクロで提供され, 交換の必要がない場合は何も行わない. 例えば, x86(リトルエンディアン)プロセッサならば, SDL_Swap32LEは何も行わないが, SDL_Swap32BEはバイト順を入れ替える. PowerPC(ビッグエンディアン)ならば, マクロは逆に機能する.

交換ルーチンはインライン関数で, コンパイラの組み込み関数や, インラインアセンブリや, その他の方法で効率的なバイト交換を行おうとする.

関数

  1. SDL_Swap16
  2. SDL_Swap32
  3. SDL_Swap64
  4. SDL_SwapFloat

マクロ

  1. SDL_BIG_ENDIAN
  2. SDL_BYTEORDER
  3. SDL_FLOATWORDORDER
  4. SDL_LIL_ENDIAN
  5. SDL_Swap16BE
  6. SDL_Swap16LE
  7. SDL_Swap32BE
  8. SDL_Swap32LE
  9. SDL_Swap64BE
  10. SDL_Swap64LE
  11. SDL_SwapFloatBE
  12. SDL_SwapFloatLE

SDL Wikiへのリンク

SDL3/CategoryEndian - SDL Wiki