在项目中,遇到C++ 与 c#编写的模块之间的相互调用。
分两种情况:
1 c#模块使用C++模块的DLL(导出C API函数), 只需简单引用C++模块的 DLL即可。
2 c++模块调用c#模块DLL时,则需要使用一个适配模块(adapter), 它提供两个作用:1 导出C API供c++模块调用; 2 加戴加载C#模块DLL,并通过.NET基础时库的函数,获得C#类或函数名供调用。
示例说明:
C++ 工程 : SP (编译生成SP.dll)
some_dev.h:
class some_dev
{
public:
bool init_hook();
};

本文介绍了在项目中C++模块如何调用C#模块以及C#模块如何调用C++模块的方法。C#调用C++通过引用C++生成的DLL,而C++调用C#则需要创建适配模块(adapter),该适配器导出C API并负责加载C# DLL,利用.NET框架进行调用。
最低0.47元/天 解锁文章
2951

被折叠的 条评论
为什么被折叠?



