目录
1. C
-
原因:
- 需要字节对齐的根本原因在于CPU访问数据的效率问题。
-
目的
- 适当编排结构体成员的顺序,可以在保存相同信息地情况下尽可能节约内存空间。
1.1. 问题
- 字节不对齐, 易触发段错误;
1.2. 措施
-
在定义结构体,定义数组时,要多注意字节对齐的问题;
- 定义数组时, 注意以字节为单位;
-
处理建议:
- 结构体成员合理安排位置,以节省空间
跨平台数据结构可考虑1字节对齐,节省空间但影响访问效率
跨平台数据结构人为进行字节填充,提高访问效率但不节省空间
本地数据采用默认对齐,以提高访问效率
- 结构体成员合理安排位置,以节省空间
-
控制方法
#ifdef _64_BIT_ #pragma pack 8 #else #pragma pack 4 #endif
参考: