【问题标题】:[Visual C++]Forcing memory alignment of variables/data-structures[Visual C++]强制变量/数据结构的内存对齐
【发布时间】:2010-04-22 08:25:52
【问题描述】:

我正在考虑使用 SSE,建议在 16 字节边界上收集对齐数据。有两种情况需要考虑:

float data[4];

struct myystruct
{
 float x,y,z,w;
};

我不确定第一种情况是否可以明确完成,尽管可能有一个我可以使用的编译器选项?在第二种情况下,我记得几年前能够在旧版本的 GCC 中控制打包,这仍然可能吗?

【问题讨论】:

    标签: visual-c++ data-structures


    【解决方案1】:

    对于静态数组,可以使用

    __declspec(align(16)) 浮点数据[4];

    对于动态分配的数组,使用 _aligned_malloc 和 _aligned_free。要控制结构元素对齐,请使用#pragma pack。

    【讨论】:

      猜你喜欢
      • 2015-06-08
      • 1970-01-01
      • 2012-05-02
      • 1970-01-01
      • 2013-06-03
      • 2023-03-23
      • 1970-01-01
      • 1970-01-01
      • 2013-06-12
      相关资源
      最近更新 更多