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