规则1: 结构体(struct)或联合体(union)的数据成员, 第一个数据成员放在 offset 为 0 的地方, 以后每个数据成员的对齐按照 #pragma pack 指定的数值和这个数据成员自身长度中, 比较小的那个进行.
规则2: 结构体(struct)或联合体(union)的整体对齐规则: 在数据成员完成各自对齐之后, 结构体(struct)或联合体(union)本身也要进行对齐, 对齐按照 #pragma pack 指定的数值和结构体(struct)或联合体(union)最大的数据成员长度中, 比较小的那个进行.
规则3: 结合规则1,2推断, 当 #pragma pack 的 n 值等于或超过所有数据成员长度的时候, 这个 n 值的大小将不产生任何效果.
VC6默认对齐系数是8字节.
阅读(539) | 评论(0) | 转发(0) |