我在創建的DLL中使用XNA Math時出現問題。我有一個在DLL中的類,它將被導出。它有一個類型爲XMVECTOR的成員變量。在類構造函數中,我嘗試初始化XMVECTOR。我得到在讀訪問衝突讀取位置0x0000000000在DLL類中使用XNA Math
代碼運行是這樣的:
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。我不知道這是否會通過一些進一步的信息有所作爲。
還,而我在這,我還有一個問題:
我也得到警告:結構「_XMMATRIX」需要有DLL接口由類的DLLClass「
的客戶端使用這是致命的嗎?如果不是,這是什麼意思,我該如何擺脫它?注意這個DLLClass將被導出,並且DLLClass的「客戶端」可能會使用變量「matr」。
任何幫助,將不勝感激。
編輯:只是一些進一步的信息:我已經逐行調試的代碼行,它似乎錯誤發生時,XMLoadFloat3的返回值分配給vect。
編譯並運行VS2012(Visual Studio 2010(v100)工具集)時沒有問題。 – David 2013-07-18 06:04:13