我正在編寫一個WPF應用程序,需要調用存在於我寫的一個dll中的一些C++代碼。即使使用最基本的測試功能,我總是會收到PInvokeStackImbalance錯誤。例如,在C++ dll中:PInvokeStackImbalance從C調用dll函數時#
extern "C" __declspec(dllexport) void Test(int foo);
該函數什麼都不做。 C#的側面看起來是這樣的:
[DllImport("myDll.dll", CharSet = CharSet.Auto)]
private static extern void Test(int foo);
而且我把這個C#的功能,像這樣:
測試(1)
...我得到一個PInvokeStackImbalance!怎麼會這樣?
在此先感謝...
湯姆
這個解決方案也適用於'FORTRAN'同樣的問題。只需發出'!DEC $ ATTRIBUTES C :: myproc'。 – ja72