我在c ++中有一个简单的函数(不是类的方法)
__declspec(dllexport) extern "C" void __stdcall TestFunc();
Run Code Online (Sandbox Code Playgroud)
我试着从c#中调用它:
[DllImport("ImportTest.dll")]
public static extern void TestFunc();
...
TestFunc();
Run Code Online (Sandbox Code Playgroud)
它抛出了"无法找到入口点"的例外.
怎么了?
感谢你们对我的帮助 :)
尝试(猜测,该DLL是用VS编写的)
extern "C" __declspec(dllexport) void __stdcall TestFunc();
Run Code Online (Sandbox Code Playgroud)
那是:
__declspec(dllexport) 通知编译器,该函数将从DLL导出;extern "C"主要是防止功能名称装饰 ;__stdcall,因为如果在[DllImport]指令中指定none,则这是默认调用约定.将来,您可以使用Dll导出查看器检查您的函数是否从DLL 导出.
| 归档时间: |
|
| 查看次数: |
2356 次 |
| 最近记录: |