簡體   English   中英

無法從C#調用C ++函數

[英]can't call C++ function from C#

我有一個帶有一組功能的DLL。 DLL與“ themidia”一起使用以使其安全。

當我嘗試調用函數時,由於函數名稱,C#吐出錯誤。

[DllImport("safety.dll", CallingConvention=CallingConvention.StdCall, ExactSpelling=true)]
private static extern IntPtr _encryptLogin@8(string string_0, string string_1);

如果刪除@ 8並刪除ExactSpelling = true,它只會返回一個異常,說明沒有入口點。

我到底在做什么錯?

刪除“ @”,然后在您的屬性中添加EntryPoint="_encryptLogin@8"

作為建議將EntryPoint指定為rfmodulator的替代方法,可以在C ++源代碼中使用extern "C" ,這將使導出的函數名稱與C ++源代碼中的名稱相同。

C ++編譯器通常會修飾函數的名稱,這樣您就可以擁有重載的函數(具有相同名稱的函數具有不同的參數)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM