1. 程式人生 > >VS 呼叫動態連結庫 PInvokeStackImbalance 對 PInvoke 函式“ ”的呼叫導致堆疊不對稱

VS 呼叫動態連結庫 PInvokeStackImbalance 對 PInvoke 函式“ ”的呼叫導致堆疊不對稱

當我們使用動態連結庫的時候,有的時候會出現一個常見的這個錯誤,  原因通常說白了就是引數不匹配了。

通常會在宣告出加上 CallingConvention= CallingConvention.Cdecl來宣告 意味著引數的可變長度,大部分時候會解決這個問題

有的時候也會因為計算機程式位數的不同, 比如開發32位程式,  在C中引數雖然是long  可相當於專案裡面的int  都佔4位元組

這個時候要把宣告時候的引數從long改寫成Int32  這樣就會使引數傳遞長度一致了。