__attribute__((aligned(n)))中,n的有效参数为2的幂值,32位最大为232232,64位为264264,这个时候编译器会将让n与默认的对齐字节数进行比较,取较大值为对齐字节数,与#pragma pack(n)恰好相反。 它的作用是让整个结构体变量整体进行n字节对齐(注意是结构体变量整体n字节对齐,而不是结构体内各数据成员也要n...
即以后每个数据成员放在offset=min(手动设置对齐长度,当前数据成员长度)×正整数min(手动设置对齐长度,当前数据成员长度)×正整数 【规则二】整体对齐规则:跟最大数据成员长度的整数倍对齐 在数据成员完成各自对齐之后,结构体(或联合体)本身也要进行对齐,对齐将按照#pragma pack指定的数值和结构(或联合)最大数据成员长...
即以后每个数据成员放在offset=min(手动设置对齐长度,当前数据成员长度)×正整数min(手动设置对齐长度,当前数据成员长度)×正整数 【规则二】整体对齐规则:跟最大数据成员长度的整数倍对齐 在数据成员完成各自对齐之后,结构体(或联合体)本身也要进行对齐,对齐将按照#pragma pack指定的数值和结构(或联合)最大数据成员长...