【C/C++】#pragma pack(1)与#pragma pack(push,1)的区别
二者都是,编译器设置参数的方法。
// 第一种方式
#pragma pack(n) // 编译器将按照n个字节进行对齐
#pragma pack() // 取消自定义字节对齐方式
// 第二种方式
#pragma pack(push, 1) // 指将原对齐方式设置为压栈,对齐方式设置为一个字节对齐
#pragma pack(pop) // 恢复原对齐状态
比较:
二者区别不大,但是从变动方面来说,第一种方式需要改动编译器默认值,相对而言,第二种,稍好。