学习笔记-C#使用C++动态链接库(DLL)导出函数过程和解决方法

学习笔记-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目录下。

在这里插入图片描述
在这里插入图片描述

在程序中添加一个按钮,鼠标左键直接拖到程序框中,如果界面没有工具箱,视图-工具箱可以调出来。

在这里插入图片描述

给按钮添加点击事件或者使用其他控件事件调用dll中的函数

在这里插入图片描述

大功告成!!!该学习笔记为本人初学整理过程,仅供参考!
大功告成!!!该学习笔记为本人初学整理过程,仅供参考!
大功告成!!!该学习笔记为本人初学整理过程,仅供参考!
  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值