溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C# 調用C++接口

發布時間:2020-06-03 17:22:06 來源:網絡 閱讀:2087 作者:fengyuzaitu 欄目:系統運維

1 System.DllNotFoundException”類型的未經處理的異常在 test.exe 中發生 其他信息: 無法加載 DLL“DLL/AR_ALGORITHM.dll”: 找不到指定的模塊。 (異常來自 HRESULT:0x8007007E)。

該問題的原因是程序無法找到AR_ALGORITHM.dll,通常程序在bin目錄下,system32目錄下,和程序運行所處的當前目錄查找


2“System.EntryPointNotFoundException”類型的未經處理的異常在 test.exe 中發生 

其他信息: 無法在 DLL“../../../DLL/AR_ALGORITHM.dll”中找到名為“WGStoGCJ”的入口點。

在C++的函數聲明中指定了WINAPI,而在C#重新定義相應的調用卻指定了Cdecl,實際上應該指定Winapi,或者簡單的方式是什么也不用指定

[DllImport("../../../DLL/AR_ALGORITHM.dll", EntryPoint = "WGStoGCJ", CallingConvention = CallingConvention.Cdecl)]

簡單正確

[DllImport("../../../DLL/AR_ALGORITHM.dll")]


那從應用上考慮,注明WINAPI和不注明WINAPI的函數在使用用上有什么差別或注意的地方?


那就是系統和不是系統函數的區別


從應用上講,區別不是很大,只要使用的聲明是正確的。

例如你寫了一個庫函數用的是WINAPI聲明的,而別人調用的時候用的聲明也要是WINAPI才行,否則運行期會出錯


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女