文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>字节序无关

字节序无关

时间:2006-05-26  来源:whtonline

  • 侦测当前系统的字节序

根据当前系统的字节序,C预处理定义SDL_BYTEORDER要么定义成SDL_LIL_ENDIAN,要么是SDL_BIG_ENDIAN。

小端字节序系统写磁盘时的数据安排: 
     [低字节] [高字节]
大端字节序系统写磁盘时的数据安排: 
     [高字节] [低字节]

提示:
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在SDL_endian.h中定义了一些高效的宏,SDL_Swap16()和 SDL_Swap32()实现字节序的交换。另外也有从指定的字节序转换成本地系统字节序的宏。

提示:
尽管你需要了解系统字节序,但你并不需要所有的数据交换函数,包含 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]); } } 
相关阅读 更多 +
排行榜 更多 +
顶尖猎人罗迪和凯茜

顶尖猎人罗迪和凯茜

冒险解谜 下载
火柴人飞爪忍者

火柴人飞爪忍者

冒险解谜 下载
派对野兽

派对野兽

冒险解谜 下载