从.net DLL导出本机C函数?

时间:2011-05-13 14:52:22

标签: c# .net plugins interop native-code

我有一个用C#编写的.net程序集,我正在寻找从程序集中导出本机C函数。

我有一个应用程序,它会在'plugin'文件夹中的任何DLL上执行'LoadLibrary()'。加载DLL后,应用程序执行'GetProcAddress'查找名为'Register'的函数。应用程序希望此函数遵循C调用约定。

如何从我的.net程序集中导出一个名为'Register'的函数,这样我就能成功连接该应用程序的插件系统?

谢谢, 安德鲁

4 个答案:

答案 0 :(得分:10)

使用this tool

答案 1 :(得分:2)

在Managed C ++中编写一个.Net库,在那里你可以导出一个“Native”方法/函数。

答案 2 :(得分:1)

答案 3 :(得分:0)

你想要的是Reverse P/Invoke。你实际上不能在C#dll中嵌入一个C函数,如果你的意思是一个实际用C实现的函数,但是按照链接页面上给出的教程,你可以创建一个可以通过非托管C / C ++代码调用的DLL导出。