结构体字节对齐
阅读代码的时候遇到结构体字节对齐的问题,所以写下第一篇随笔来记录一下,第一次写,格式什么的没有注意,姑且这样吧。
2021-01-16 16:21:13
结构体字节对齐的方式有这几种:(参数n表示n字节对齐)
- #pragma pack(n)
- #pragma pack(push,n) 要和 #pragma pack(pop) 成对使用
- __attribute__((aligned(n)));
结构体声明当中 __attribute__ ((__packed__))关键字:结构体内的变量采用内存紧凑的方式排放。
也可以写成: __attribute__ ((packed)) 可以放在struct 后面或者 } 之后。
以上结果在Linux 64位系统中运行并验证。