可以';t从C#调用C++函数
本文关键字:调用 C++ 函数 可以 | 更新日期: 2023-09-27 18:26:30
我有一个带有一组函数的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++编译器通常会破坏函数的名称,这样你就可以拥有重载的函数(具有相同名称但不同参数的函数)。