我在创建的 DLL 中使用 XNA Math 时遇到问题。我有一个在 DLL 中的类,将被导出。它有一个 XMVECTOR 类型的成员变量。在类构造函数中,我尝试初始化 XMVECTOR。我从读取位置 0x0000000000 读取时遇到访问冲突
代码运行如下:
class DLLClass
{
public:
DLLClass(void);
~DLLClass(void);
protected:
XMVECTOR vect;
XMMATRIX matr;
}
DLLClass::DLLClass(void)
{
vect = XMLoadFloat3(&XMFLOAT3(0.0f, 0.0f, 0.0f)); //this is the line causing the access violation
}
请注意,此类位于将要导出的 DLL 中。我不知道这是否会通过一些进一步的信息有所作为。
另外,当我这样做时,我还有一个问题:
我也收到警告:struct '_XMMATRIX' 需要有 dll-interface 供类 'DLLClass' 的客户端使用
这是致命的吗?如果不是,这是什么意思,我该如何摆脱它?请注意,此 DLLClass 将被导出,并且 DLLClass 的“客户端”可能会使用变量“matr”。
任何帮助,将不胜感激。
编辑:只是一些进一步的信息:我已经逐行调试了代码,似乎在将 XMLoadFloat3 的返回值分配给 vect 时发生了错误。