我有一个如此定义的结构:
typedef struct _CONFIGURATION_DATA {
BYTE configurationIndicator;
ULONG32 baudRate;
BYTE stopBits;
BYTE parity;
BYTE wordLength;
BYTE flowControl;
BYTE padding;
} CONFIGURATION_DATA;
Run Code Online (Sandbox Code Playgroud)
现在,通过我的计算,该结构长度为10个字节.但是,sizeof报告它长16个字节?谁知道为什么?
我正在使用Windows DDK中的构建工具进行编译.
Pav*_*sky 10
对准.
使用
#pragma pack(1)
...struct goes here...
#pragma pack()
我还建议重新排序,如果需要填充然后使用RESERVED字节,这样多字节整数类型将更好地对齐.这将使CPU处理速度更快,代码更小.