学习笔记-C#使用C++动态链接库(DLL)导出函数过程和解决方法
在学习过程中,遇到使用单纯的__declspec(dllexport)命令导出C++函数会出现名字很长很乱的问题,这里在参考了众多资料之后,解决了这个问题。记录一下方便后期查看,同时也对整个流程做一个梳理。
工具:Visual Studio 2022
C++动态链接库
创建C++动态链接库
!
简单输入结构体和函数,为了节约时间,这里均未实现。
.CPP文件
.h文件
.h文件对.cpp文件中的函数定义。这里需要导入接口头文件,需要在定义类后实例化对象,通过对象调用返回类中的函数。结构体也需要实例化。
C++接口文件
将该接口文件中的类以C语言的方式导出便于C#使用。
查看导出结果。工具-命令行-开发者PowerShell。cd命令进去C++ dll文件出,使用dumobin命令查看dll中导出函数。
C#窗体操作
创建C#项目
创建完成后,右击新建项,创建类。
类中导入dll函数代码
找到C++打包后的dll文件,将其复制到C#的bin目录下。