总结
在分析结构体字节对齐时,首先确定有没有利用#pragma pack()宏定义指定对齐模数;根据情况对应上面进行两种情况分析,针对不同的系统会得到不同的结果。
补充:
在Visual C++下可以用__declspec(align(#))声明数据按#字节对齐
GUN C下可以使用以下命令:
__attribute__((aligned (n))),让所作用的结构成员对齐在n字节自然边界上。如果结构中有成员的长度大于n,则按照最大成员的长度来对齐
__attribute__((__packed__)),取消结构在编译过程中的优化对齐,按照实际占用字节数进行对齐。
C++11新加关键字alignas(n)
注:相关教程知识阅读请移步到C++教程频道。










