【问题标题】:XCode 32-bit not able to set 8bytes alignment?XCode 32 位无法设置 8 字节对齐?
【发布时间】:2016-10-25 23:07:53
【问题描述】:

我尝试在 XCode6.4 中构建我的 Windows 源代码。但发现对齐问题。 我通过“#pragma pack(x)”将 8 字节对齐设置为 Windows 默认值,但似乎不起作用。

XCode 只接受 1、2、4,但如果设置为 8,仍然与 4 相同。

这是 XCode 错误吗?
以下是我的代码。

#pragma pack(8)
typedef struct
{
    char cField;
    double dField;
}ppkStructure; 

int nSize = sizeof(ppkStructure);

我知道我可以使用 attribute ((aligned (8))),但这不是解决方案。如果这样做,我有成千上万的结构需要更改。

【问题讨论】:

    标签: xcode memory-alignment


    【解决方案1】:

    如果我设置 pack(1),nSize 是 9, 设置 pack(2),nSize 为 10 设置 pack(4),nSize 为 12 set pack(8),nSize 仍然是 12。与包(4)相同。不符合预期值:16。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-12-18
      • 1970-01-01
      • 2016-04-02
      • 2012-03-31
      • 1970-01-01
      • 2021-01-05
      • 2020-03-13
      • 2011-06-20
      相关资源
      最近更新 更多