unsigned short 后 C 结构中的空字节(Visual Studio 2013)
Empy bytes in C struct after unsigned short (Visual Studio 2013)
有人可以解释一下吗?
显然有一个 space 包含两个字节,在字段 a 之后未使用。有人可以告诉我为什么会这样吗?有没有办法 "turn off" 这种行为?我真的需要它才能正常工作。
这是 "working normally"。您的编译器对齐第二个成员 b
以优化速度。在您的平台上 unsigned int
的默认对齐方式是 4 个字节,因此在 a
.
之后添加填充字节
要关闭此功能,您可以使用 pragma
s depending on your compiler,但不要调用此 "abnormal behavior"。
有人可以解释一下吗?
显然有一个 space 包含两个字节,在字段 a 之后未使用。有人可以告诉我为什么会这样吗?有没有办法 "turn off" 这种行为?我真的需要它才能正常工作。
这是 "working normally"。您的编译器对齐第二个成员 b
以优化速度。在您的平台上 unsigned int
的默认对齐方式是 4 个字节,因此在 a
.
要关闭此功能,您可以使用 pragma
s depending on your compiler,但不要调用此 "abnormal behavior"。