C语言宏的使用
1、#pragma pack
给编译器用的参数设置,有关结构体字节对齐方式设置, #pragma pack是指定数据在内存中的对齐方式。
#pragma pack (n) C编译器将按照n个字节对齐。
#pragma pack () 取消自定义字节对齐方式。
#pragma pack (push,1) 把原来对齐方式设置压栈,并设新的对齐方式设置为一个字节对齐
#pragma pack(pop) 恢复对齐状态
#pragma pack(push) 保存对齐状态
#pragma pack(4) 设定为4字节对齐, 相当于 #pragma pack (push,4)
例:
#pragma pack(1)
struct A
{
int a;
double b;
};
#pragma pack()

浙公网安备 33010602011771号