[英]Calling C# dll from C++
我有一个本机 C++ DLL,我想导入一个 C# DLL 并使用它的一些功能(例如连接到数据库)。
现在我已经读到您可以将 DLL 转换为 TLB COM 文件,而且我已经做到了没有问题。 我的问题在于 C++。 要调用该 TLB 文件,我需要设置 CLR 支持。 我使用 themida 来帮助保护我所有的 DLL 和 PEC。 它们不支持 .net DLL,当我启用 CLR 时,程序会将其识别为 .net DLL。
无论如何,是否可以在不启用 CLR 的情况下从本机 C++ DLL 内部调用 .net DLL 中的 ac# 函数?
我认为最好的方法是创建一个 C++/CLI 库,您可以使用它在层之间进行通信。
这个第 3 方库将在启用 /clr 的情况下编译。
然后,您可以使用正确的 C++ 函数包装器的标头定义来调用 C# 函数。
C++/CLI 可以帮助您按照您想要的方式管理调用,并让您按照您想要的方式设计类型转换。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.