摘要:
如果不改编译选项Delphi的Record默认也是4字节对齐的.可以用编译开关指定{$A4+}就是4字节对齐.同理{$A2+}.{$A1+}等.{$A1+}等同于Packed Record主要容易被忽略的是Delphi的枚举.C,C++的枚举默认等同于整数.也就是4字节的.Delphi枚举默认是最小对齐.也就是除非指定枚举值,如果枚举小于255个就一个字节.大于255小于65535就两个字节等.可以用{$Z4+}这个编译开关把枚举强制按4字节对齐.在结构体中,成员数据对齐满足以下规则: a、结构体中的第一个成员的首地址也即是结构体变量的首地址。 b、结构体中的每一个成员的首地址相对于结构体的首 阅读全文