我看过无数关于字节顺序及其含义的引用资料。我对此没有任何问题...... 然而,我的编码项目是一个简单的游戏,可以在标准的“游戏玩家”硬件上运行在 linux 和 windows 上。 在这种情况下我需要担心字节序吗?我什么时候需要担心它? 我的代码是简单的 C 和 SDL+GL,唯一复杂的数据是基本媒体文件 (png+wav+xm),游戏数据主要是字符串、整数 bool 值(用于标志等)和静态大小的数组。到目前为止,没有用户遇到问题,所以我想知道是否有必要添加检查(稍后会完成,但 IMO 有更紧急的问题)。
最佳答案
需要担心字节顺序的时候:
- 您正在机器或进程之间发送二进制数据(使用网络或文件)。如果机器可能有不同的字节顺序或使用的协议(protocol)指定了特定的字节顺序(它应该指定),您将需要处理字节顺序。
- 您有通过不同类型的指针访问内存的代码(假设您通过
char*
访问unsigned int
变量)。
如果您执行这些操作,无论您是否知道,您都在处理字节顺序 - 可能是您通过假设它是一种或另一种方式来处理它,只要您的代码可以正常工作不必处理不同的平台。
以类似的方式,您通常需要在相同的情况下出于类似的原因处理对齐问题。再一次,您可能会通过什么都不做并让一切正常工作来处理它,因为您不必跨越平台边界(如果这确实成为一项要求,这可能会回来咬你)。
关于c - 什么时候担心字节顺序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2213441/