如何使dll访问托管代码,但将函数公开给非托管二进制文件

时间:2012-09-10 19:43:12

标签: c# c++ .net clr managed

所以这是我的情况:我正在使用非托管c ++编写的二进制文件,允许用户指定.dll来自定义功能; c ++应用程序将调用dll中的某些函数。在这种情况下,dll将依赖于来自第三方的.NET .dll中打包的功能(我无法控制它)。我的任务是编写c ++应用程序使用的DLL。我更习惯使用c ++,但如果它更有意义,可以使用c#。我怎样才能完成我想要做的事情?我用有限的成功搜索了这个问题。请注意,这是我使用托管/非托管代码的少数几次之一,所以我的知识有点缺乏。

1 个答案:

答案 0 :(得分:0)

您可以使用/crl选项编译c ++ dll。它的导出通常对本机c ++应用程序可见。另外,它可以使用Assembly::LoadFrom例程加载带有.NET程序集的dll。