确实windows 平台有些场景下, 结构体的位宽是生效的,
比如
typedef struct
{
unsigned short m1:9;
unsigned short m2:1;
unsigned short m3:6;
}S1;
这种顺序同类型的short 是可以放到2 个字节内的. 实验结果也是sizeof = 2.
只可惜上文是原有代码, 大量类似的情况, 需要在windows 上编译, 还要满足位宽的预期, 尽量避免去修改代码的.
【 在 DoorWay 的大作中提到: 】
:
https://docs.microsoft.com/en-us/cpp/cpp/cpp-bit-fields?view=msvc-170: 擦,发完仔细看了看二楼,已经回答了。我以为只是转了
--
FROM 120.244.220.*