3

Visual C++ 让您在项目的属性页面中选择结构成员 alignemnt。问题是,这个配置被用于项目中的所有结构。

有没有办法(VC++ 特定的,我猜)单独设置某个结构的成员对齐?

4

3 回答 3

6
#pragma pack

http://msdn.microsoft.com/en-us/library/2e70t5y1(VS.80).aspx

于 2009-05-18T17:54:13.947 回答
1

#pragma 包

于 2009-05-18T17:54:42.557 回答
0

对于真正特定的结构对齐,您可以摆弄填充字节

因此,在各个字段之间添加一些虚拟字节,直到对齐符合您的需要。

例子:

结构示例 { 无符号短 x;字节虚拟1;字节虚拟2;字节虚拟3;字节虚拟4;字节虚拟5;字节虚拟6;无符号整数 y;};

如果没有放置虚拟字节,则 int 可能已放置在偏移量 4 上(从结构开头开始的 4 个字节,而现在它已放置在偏移量 8 处)

waring:非常特定于编译器,并且代码实践不好;^)

于 2009-05-18T17:58:35.390 回答