【发布时间】:2014-03-27 10:34:39
【问题描述】:
我在 MSVC++ 2008 中定义了以下结构:
struct{
Uint16 XDD;
unsigned XDD_UI:8;
unsigned XDD_CR:8;
}byte;
当对上述结构执行 sizeof 时,它表明 unsigned 使用 32 位来存储数据。
- 为什么会这样,它与内存对齐有关吗?
- 我怎么能强制编译器只使用没有定义的 8 位 触摸结构定义?
【问题讨论】:
-
能否请您发布有关如何验证
XDD占用 32 位的代码? -
您可以在此处找到一些特定于使用 Visual-C++ 进行位域打包的信息:randomascii.wordpress.com/2010/06/06/…
标签: c++ visual-c++ visual-studio-2008 struct unsigned