Calling C# dll from C++

本文关键字:C++ from dll Calling | 更新日期: 2023-09-27 18:28:11

我有一个本机C++DLL,我想导入一个C#DLL并使用它的一些功能(例如连接到数据库)。

现在我已经读到,你可以把DLL变成一个TLBCOM文件,我已经做到了,没有问题。我的问题出在C++上。要调用那个TLB文件,我需要设置CLR支持。我使用themida来帮助保护我所有的DLL以及PEC。它们不支持.net DLL,当我启用CLR时,程序会将其识别为.net DLL。

是否可以在不启用CLR的情况下从本机c++DLL内部调用.net DLL内部的c#函数?

Calling C# dll from C++

在我看来,最好的方法是装入一个可用于在层之间通信的C++/CLI库。

此第三方库将在启用/clr的情况下进行编译。

然后,您可以使用适当的c++函数包装器的头定义来调用c#函数。

C++/CLI可以帮助您按照自己想要的方式管理调用,并允许您按照自己需要的方式设计类型转换。