如何从本机C()DLL调用.NET(C#)代码?

我有一个C#app.exe和一个C#my.dll. my.dll .NET项目链接到本机C DLL(mynat.dll)(外部C DLL接口),从C#调用C DLL工作没有问题. (通过使用[DllImport(“mynat.dll”,CharSet = CharSet.Unicode,CallingConvention = CallingConvention.Cdecl)]属性.)

我现在需要添加的是C#dll提供一些C代码可以调用的回调函数.理想情况下,mynat.dll C代码将使用LoadLibrary(“my.dll”)加载C#dll,然后使用GetProcAddress解析它随后可以调用的回调函数. (注意,在C代码调用LoadLibrary时,my.dll C#dll已经加载到进程中 – 这个调用只是获取dll的句柄.)

但是,我不知道从.NET DLL导出“extern C DLL接口”的正确方法是什么

我需要做什么才能实现这一目标?

最佳答案 与流行的看法相反,这是可能的.


here.

点赞