Calling C# dll from C++
Calling C# dll from C++
我有一个本机C++DLL,我想导入一个C#DLL并使用它的一些功能(例如连接到数据库)。
现在我已经读到,你可以把DLL变成一个TLBCOM文件,我已经做到了,没有问题。我的问题出在C++上。要调用那个TLB文件,我需要设置CLR支持。我使用themida来帮助保护我所有的DLL以及PEC。它们不支持.net DLL,当我启用CLR时,程序会将其识别为.net DLL。
是否可以在不启用CLR的情况下从本机c++DLL内部调用.net DLL内部的c#函数?
在我看来,最好的方法是装入一个可用于在层之间通信的C++/CLI库。
此第三方库将在启用/clr的情况下进行编译。
然后,您可以使用适当的c++函数包装器的头定义来调用c#函数。
C++/CLI可以帮助您按照自己想要的方式管理调用,并允许您按照自己需要的方式设计类型转换。
相关文章:
- 如何解决"invalid conversion from 'char' to 'const char*'"
- std::async from std::async in windows xp
- std::is_reference from std::any
- std::time_point from and to std::string
- "No suitable conversion function from 'std::string' to 'const char *' exists"
- std::chrono::time_point from std::string
- Visual accept std::string from std::byte iterator
- C++中链表的错误"Abort signal from abort(3) (sigabrt) "
- dopen():不以 root 身份运行时"failed to map segment from shared object"
- C++ 中的"template <typename From, typename Tag> struct Alias;"是什么?
- from std::vector to adept::avector
- qt get child (Callout) from QChart
- Webassembly from Javascript
- Generate boost::uuids::uuid from boost::compute::detail::sha
- 什么是"Reading unbounded stream from standard input (Memory Management)"的例子
- Calling C++ dll from python
- 为什么我会收到"invalid conversion from 'Queue*/Stack*' to 'int'"错误消息?
- std::chrono 在从 main 或 from 类方法使用时给出不同的值
- Calling Python Script from Visual Studio C++ Solution
- Access C++ Enum from Swift