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()
posted @ 2023-11-02 15:07  xioahuhu  阅读(17)  评论(0编辑  收藏  举报