本文小编为大家详细介绍“vs2019中如何实现C#调用c++的dll”,内容详细,步骤清晰,细节处理妥当,希望这篇“vs2019中如何实现C#调用c++的dll”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。在实用角度出发:
非托管需要一个个声明引用,就很繁琐
但是托管(虽然麻烦)不用声明,只需要调好配置即可,还是比较方便的
.h代码部分:.cpp代码部分:首先:项目–属性—配置类型–常规—配置类型—动态库(.dll)(注意x64)
然后:项目–属性–配置属性–C/C+–高级—编译为—便以为C++代码(/TP)
C#代码如下:注意:C#也用x64注明:windows窗体控制程序也可以这样第一步:打开vs2019,新建新项目在C#里找到控制台应用(.NET Core)
尽量把项目放到特定一个文件夹(经验)
新建的项目命名为Caculate
这个时候添加一个类CaculateData
CaculateData.h的代码如下CaculateData.cpp代码如下之后你需要配置你的项目
1.添加宏 CaculateDLL_EXPORTS
方法:在Caculate的属性页->配置属性->C/C+>预处理器->预处理器定义
(注意,我们需要平台为Win32)
2.在Caculate的属性页->配置属性->常规->设置输出目录和配置类型
输出目录:C#文件夹的binDebugnetcoreapp3.1(版本更新会有区别)
配置类型:动态库dll
编译ctrl+B完成后在输出目录会出现Caculate.dll文件(这个项目是实现CLR项目)
首先,配置CLR(关键所在,否则会出大问题)
配置属性—高级—公共语言运行时支持
然后,配置属性—VC++目录—库目录(把刚刚生成Caculate.dll的路径添加进去)
同时引用库:
配置属性—链接器—输入—附加依赖项(注意是.lib)
注意:查看语言符合模式()
配置属性—C/C++—语言—符合模式(否)
最后导出为dll(注意Win32)
创建类InvokeCon
Invo免费云主机域名keCon.h代码如下InvokeCon.cpp代码如下编译ctrl+B首先:引用CilDll.dll
然后:项目右键—属性—生成—目标平台86(非常重要)
C#代码如下读到这里,这篇“vs2019中如何实现C#调用c++的dll”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注百云主机行业资讯频道。
这篇文章主要介绍“c#如何调用c++”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“c#如何调用c++”文章能帮助大家解决问题。例子1如下:复制代码 代码如下://声明部分[DllImport(“um_web_clien…
免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。