2019独角兽企业重金招聘Python工程师标准>>>
C语言结构体有时候需要设置字节对齐方式。
第一种方式:
在需要对齐的代码前中添加如下代码:
#pragma pack(n)
结束后,可以再添加#pragma pack() 用以结束,恢复原状
#pragma pack(4) --------以四个字节对齐
例如:
/*位图文件头*/
#pragma pack(1)//单字节对齐
typedef struct tagBITMAPFILEHEADER
{ unsigned char bfType[2];//文件格式unsigned int bfSize;//文件大小unsigned short bfReserved1;//保留unsigned short bfReserved2;//保留unsigned int bfOffBits;//数据偏移量
}fileHeader;
#pragma pack()
第二种方式:
在Visual Studio中,我的是VS2017 Community(社区版)
在项目 ----- 属性 ------ C/C++ ---- 代码生成 -------- 结构成员对齐 中选择对齐的字节。