我准备将一个小项目的C代码(30+ kSLOC)从32位大端平台迁移到32位小端平台。我想在节日前检查一下,这将是多少工作,所以我想找出依赖于原始尾序的代码。
我正在寻找一个尽可能全面的C代码习语集合,这取决于大端序。不要费心去检测这些习惯用法在实际代码中的使用,我有一些代码分析工具支持。
注意事项:
- Fishy指针强制转换和不同大小的整数类型之间的Fishy类型转换。这些也可能是潜在的对齐或严格混叠错误。
- 序列化/反序列化代码,其中数据读取/写入字节数组。
- 没有序列化/反序列化代码的数据通信接口。也就是说:CPU恰好与网络具有相同的端序,这在大端序系统中尤其常见。以太网、CAN、UART等。
- 联合式双关语。