在 中总结了C# 非托管方式调用dll的方法,这里再补充介绍一下使用托管的方式(clr)的实现方案。托管的方式与非托管方式主要区别:如果采用托管的方式,dll封装(需要类)和调用(需要引用dll)。托管方式的实现方法如下,
开发C++ 接口
step1 创建 MFC 动态链接库 应用程序
step2 查看工程结构并编译生成dll 文件
step3 新建一个dll功能实现接口实现文件
托管类的头文件( ManagedDllClass.h )和源文件( ManagedDllClass.cpp ),实现dll功能函数。
step4 在ManagedDllClass中添加dll接口功能函数
ManagedDllClass.h
ManagedDllClass.cpp
step5 dll 封装托管接口类
C# 调用时可实例化的对象类,新建clrDllFunc.h 和 clrDllFunc.cpp,封装接口类 clrDllFunc
clrDllFunc.h 添加代码,创建托管类并封装接口函数
clrDllFunc.cpp 添加代码,添加托管类的定义,
C# 项目中调用dll
step7 在C#中 调用dll
调用方法如下,