分类: LINUX
2006-05-26 10:22:21
|
提示: x86系统是小端字节序系统; PPC系统是大端字节序系统。 |
例程: #include "SDL_endian.h" #if SDL_BYTEORDER == SDL_LIL_ENDIAN #define SWAP16(X) (X) #define SWAP32(X) (X) #else #define SWAP16(X) SDL_Swap16(X) #define SWAP32(X) SDL_Swap32(X) #endif |
|
提示: 尽管你需要了解系统字节序,但你并不需要所有的数据交换函数,包含 SDL_byteorder.h,而不是 SDL_endian.h |
例程:#include "SDL_endian.h" void ReadScanline16(FILE *file, Uint16 *scanline, int length) { fread(scanline, length, sizeof(Uint16), file); if ( SDL_BYTEORDER == SDL_BIG_ENDIAN ) { int i; for ( i=length-1; i >= 0; --i ) scanline[i] = SDL_SwapLE16(scanline[i]); } } |