内存对齐
来源:互联网 发布:辐射4 杰洛特捏脸数据 编辑:程序博客网 时间:2024/06/02 04:15
内存对齐的规则:
1、 对于结构的各个成员,第一个成员位于偏移为0,以后每个数据成员的偏移量必须是#pragma pack指定的数值和结构(或联合)最大数据成员长度这2个数值中较小的一个
的倍数。
使用伪代码表示: min(#pragma pack, 结构最大数据成员长度) * N
2、 在数据成员完成各自对齐之后,结构(或联合)本身也要进行对齐,对齐将按照#pragma pack指定的数值和结构(或联合)最大数据成员长度这2个数值中较小的一个
进行。
#pragma pack(n) // 使用自定义n字节对齐 n可以为1,2,4,8,16#pragma pack() // 使用缺省字节对齐(缺省为8字节对齐)
阅读全文