【C#学习笔记】C#调用C++ dll ————(2021/2/17学习笔记)

目录

1,调用过程
2,最终效果

调用过程

(1)新建Dll项目(动态链接库项目)
在这里插入图片描述

(2)打开项目的dllmain文件,在这个CPP文件写入自己想要被调用的方法,写入的方法要按照
extern "C" _declspec(dllexport) 返回值 方法名 (要传递的参数){需要执行的程序块}的格式写入,除此之外,在dllmain文件中可以正常引入其他头文件(具体如下图)
在这里插入图片描述
(3)生成dll文件
在这里插入图片描述
(4)将dll文件放入到需要引用的C#工程Debug文件夹里(非必须,但建议这么做)
在这里插入图片描述
(5)在C#工程引用dll中的方法,引用的格式为
[DllImport("dll文件路径", CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Unicode)] public static extern 返回值 方法名 (需要传递的参数);
这里传递的参数类型是C++对应C#的类型,具体可以看这篇文章C#调用C++dll的类型对照然后值得注意的是,要传递字符串的话最好在调用的时候加CharSet = CharSet.Unicode,如果不加很有可能会出现字符串乱码 (该阶段操作具体如下图)
在这里插入图片描述

最终效果(如下图)

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值