#pragma pack(n)
Posted 懵懂的菜鸟
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了#pragma pack(n)相关的知识,希望对你有一定的参考价值。
内存对齐原则
1、 对于结构的各个成员,第一个成员位于偏移为0的位置,以后每个数据成员的偏移量必须是min(#pragma pack()指定的数,这个数据成员的自身长度) 的倍数。
2、 在数据成员完成各自对齐之后,结构(或联合)本身也要进行对齐,对齐将按照#pragma pack指定的数值和结构(或联合)最大数据成员长度中,比较小的那个进行。
#pragma pack(n)表示默认以n字节对齐,若某变量(如int)的字节大于n,则以n的倍数对齐。
A:
----
----
B:
----
----
----
以上是关于#pragma pack(n)的主要内容,如果未能解决你的问题,请参考以下文章
高级C__attribute__((aligned(n))) 与 #pragma(pack(n))的区别