Chinaunix首页 | 论坛 | 博客
  • 博客访问: 42399
  • 博文数量: 32
  • 博客积分: 1326
  • 博客等级: 中尉
  • 技术积分: 330
  • 用 户 组: 普通用户
  • 注册时间: 2010-04-25 18:13
文章分类

全部博文(32)

文章存档

2010年(32)

我的朋友
最近访客

分类: WINDOWS

2010-07-15 20:25:51

规则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) |
给主人留下些什么吧!~~