我正在使用DirectXMath
、创建XMMatrix
和XMVector
上课。
当我调用XMMatrixMultiply
它时,它会引发未处理的异常。
我在网上发现这是字节对齐的问题,因为DirectXMath
使用SIMD
的指令集会导致未对齐的堆分配。
建议的解决方案之一是使用XMFLOAT4X4
变量,然后XMMatrix
在需要时将它们更改为临时变量,但这不是 imo 最好和最快的解决方案。
另一个是使用_aligned_malloc
,但我不知道如何使用它。我从来不需要做任何内存分配,这对我来说是黑魔法。
另一个是超载new operator
,但他们没有提供任何信息如何做到这一点。
关于重载方法,我不使用new
创建XMMatrix
对象,因为我不使用它们作为指针。
在我决定将代码拆分为类之前,一切都很好。
我认为_alligned_malloc
解决方案在这里是最好的,但我不知道如何使用它,何时何地调用它。