今天我尝试初始化一个 sse 类型 __m128d 的数组。不幸的是,它不起作用——为什么?通常是否不可能创建 sse 类型的数组(因为它们是寄存器类型?)。以下代码在循环中的赋值处出现段错误。
__m128d* _buffers = new __m128d[32];
for(int i=0;i<32;i++)
_buffers[i] = _mm_setzero_pd();
问候 + 繁荣
最佳答案
您必须使用 _mm_malloc() 或 _aligned_malloc(),具体取决于编译器上的首选函数名称。 __m128[di] 与 new 结合几乎总是不好的魔力。
关于c++ - sse类型: Segmentation Fault的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5217782/