水木社区手机版
首页
|版面-C++程序设计语言(CPlusPlus)|
新版wap站已上线
返回
1/1
|
转到
主题:[求助]windows c++ 结构体域字节宽度问题
2楼
|
DoorWay
|
2021-12-25 07:43:56
|
展开
UINT8_T message_type; 改成 UINT32_T,加上 :8 试试。
我看微软的文档,要么全用short,要么全用int。 你这一直变类型,而且只有一个 bit field. 文档没有说明。
但按文件的说说法:
1 从少到多排列
2 如果下一个bitfield累加后,位数越界(前一位的类型的界,如short=16, int=32),则补齐,再排下一位。
--
FROM 61.185.159.*
3楼
|
DoorWay
|
2021-12-25 07:44:29
|
展开
https://docs.microsoft.com/en-us/cpp/cpp/cpp-bit-fields?view=msvc-170
擦,发完仔细看了看二楼,已经回答了。我以为只是转了
--
FROM 61.185.159.*
6楼
|
DoorWay
|
2021-12-25 17:51:22
|
展开
放狗搜搜,
实在不行,就只能祭出一个强大的正则表达式,修改之……
平台不是你想跨,想跨就能跨。我一直写傻大粗笨的代码,没搞过这种位级别的优化
【 在 blippman 的大作中提到: 】
: 确实windows 平台有些场景下, 结构体的位宽是生效的,
: 比如
: typedef struct
: ...................
--
修改:DoorWay FROM 61.185.159.*
FROM 61.185.159.*
1/1
|
转到
选择讨论区
首页
|
分区
|
热推
BYR-Team
©
2010.
KBS Dev-Team
©
2011
登录完整版