平臺:vs2010
完全相同的一段代碼,生成32位dll,32位vc呼叫,傳值正常
生成64位代碼,64位VC呼叫,傳值出錯
dll代碼:
extern "C" __declspec(dllexport) DWORD64 _stdcall TestRead(DWORD64 dwInfo)
{
return dwInfo;
}
exe代碼:
DWORD64 a = TestRead(0x123456789a);
完全相同的代碼,一種是32位編譯,一種是64位編譯
32位編譯的完全沒有任何問題,64位編譯的傳值就出錯,好奇怪
聯結器中的目標計算機設定為MachineX64(/MACHINE:X64),沒有問題
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/108712.html
標籤:C++ 語言
上一篇:keil c99支持
