gpt4 book ai didi

c++ - SIMD 和动态内存分配

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:55:42 28 4
gpt4 key购买 nike

<分区>

Possible Duplicate:
SSE, intrinsics, and alignment

我是 SIMD 编程的新手,如果我问的是一个明显的问题,请原谅。

我进行了一些试验,最终我想将 SIMD 值存储在动态分配的结构中。

代码如下:

struct SimdTest
{
__m128 m_simdVal;

void setZero()
{
__m128 tmp = _mm_setzero_ps();
m_simdVal = tmp; // <<--- CRASH ---
}
};

TEST( Plane, dynamicallyAllocatedPlane )
{
SimdTest* test = new SimdTest();

test->setZero();

delete test;
}

执行带有CRASH注释的方法时,代码崩溃,异常如​​下:

Unhandled exception at 0x775315de in test-core.exe: 0xC0000005: Access violation reading location 0x00000000

谁能解释一下为什么分配操作会中断,以及应该如何动态分配包含 SIMD 的对象才能正常工作?

我需要补充一点,如果我静态实例化一个 SimdTest 对象并调用 setZero 方法,一切正常。

谢谢,帕克萨斯

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com