[英]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.