c – 不期望结果的struct sizeof
发布时间:2020-12-16 10:42:09 所属栏目:百科 来源:网络整理
导读:我有一个如此定义的结构: typedef struct _CONFIGURATION_DATA { BYTE configurationIndicator; ULONG32 baudRate; BYTE stopBits; BYTE parity; BYTE wordLength; BYTE flowControl; BYTE padding;} CONFIGURATION_DATA; 现在,通过我的计算,该结构长度为10
我有一个如此定义的结构:
typedef struct _CONFIGURATION_DATA { BYTE configurationIndicator; ULONG32 baudRate; BYTE stopBits; BYTE parity; BYTE wordLength; BYTE flowControl; BYTE padding; } CONFIGURATION_DATA; 现在,通过我的计算,该结构长度为10个字节.但是,sizeof报告它长16个字节?谁知道为什么? 我正在使用Windows DDK中的构建工具进行编译. 解决方法
对准.
使用 #pragma pack(1) ……结构在这里…… #pragma pack() 我还建议重新排序,如果需要填充然后使用RESERVED字节,这样多字节整数类型将更好地对齐.这将使CPU处理速度更快,代码更小. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |