简介
#pragma pack 可以用来指定结构体的成员变量的内存对齐数值。
目前有两种指定字节对齐方式。
#pragma pack(n)的配对使用
#pragma pack(1) //内存对齐设置为1个字节
struct PROTOCOL
{
int time;
char head;
char cmd;
int length;
char tail;
}
struct STATUS_REG
{
//...
}
//...
#pragma pack() //恢复默认的内存对齐
#pragma pack(push|pop,n)的配对使用
#pragma pack(push, 1) //内存对齐设置为1个字节
struct time
{
int sec;
char oddEven;
bool isLeapYear;
}
struct frame
{
//...
}
//...
#pragma pack(pop) //恢复默认的内存对齐