#pragma pack 是用来改变字节对齐的,大概用法有一下几种**
#pragma pack(n) 修改为n字节对齐
#pragma pack(push) 把当前使用的字节对齐方式压栈
#pragma pack(pop) 把最后压栈的字节对齐方式出栈,恢复到#pragma pack(push)之前的字节对齐方式
#pragma pack() 恢复默认字节对齐方式,这个跟具体的设备有关系,可能是4字节对齐,也可能是8字节对齐。
常用组合, 先压栈,然后修改为自己想用的字节对齐方式,使用结束后,出栈,恢复到之前的字节对齐放方式。
#pragma pack(push)
#pragma pack(n)
struct{
…
}
#pragma pack(pop)
另外
#pragma pack(push,n)
等价于
#pragma pack(push)
#pragma pack(n)
引用参考:
https://www.cnblogs.com/leijiangtao/p/12081774.html