c++调用c#dll和c++dll,vs2019

本文详细介绍如何在VS2019中使用C++调用C#和C++编写的DLL。针对C# DLL,需设置公共语言运行时支持和符合模式,并将DLL添加到项目引用中;对于C++ DLL,则需通过LoadLibrary和GetProcAddress函数进行调用。文章提供了具体步骤和代码示例。

vs2019 c++调用c#写的dll

一、c++调用c#dll

打开vs2019,新建一个c++控制台程序项目,然后打开项目属性,设置成如下图的样子

关键点:公共语言运行时支持
在这里插入图片描述

关键点:符合模式。

关键点:活动解决方案下的x64,及平台x64
在这里插入图片描述
然后,右键项目,点击引用
在这里插入图片描述
点击引用后,会弹出一个界面,点击界面下边的浏览,找到目标dll文件,确定添加。

然后,关键的一步,把dll文件复制到项目的x64\debug\文件夹下。

第6、7行,为模板,按格式自行写入,一个是dll文件所在的目标,一个是dll文件的名字。我的dll文件名是ClassLibrary1.dll
在这里插入图片描述

然后运行,就大功告成了!
在这里插入图片描述

二、c++调用c++dll

打开vs2019,新建一个c++控制台程序项目,然后打开项目属性,设置成如下图的样子

关键点:符合模式
在这里插入图片描述
关键点:公共语言运行时支持
在这里插入图片描述
关键点:活动解决方案平台下x86,及平台win32
在这里插入图片描述

然后,把dll文件复制到项目的debug文件夹内(如果是刚建立的项目没有debug这个文件夹,可放到和项目名同名的文件夹内,此同名内文件夹内有主函数cpp文件)。

然后写代码,必须加#include<windows>头文件。

main函数里可以这样写(dll文件名可更改。int a,int b为函数模板参数,可更改。“add”为函数名,add为代替,可改变):

cout << "Hello World!\n";//测试使用
	HINSTANCE hDllInst;
	hDllInst = LoadLibrary(L"DemoDll.dll");
	typedef int(*PLUSFUNC)(int a, int b); 
	PLUSFUNC add = (PLUSFUNC)GetProcAddress(hDllInst, "add");
	std::cout << add(78, 2) << endl;

如果dll文件里,只有一个add函数,记得参数保持一致。只写下图的9~14行,(包括9,14在内)即可。
如下图,里面的add、minus、test4等都是dll文件里面定义好的函数。
然后直接运行即可,如图所示,大功告成
在这里插入图片描述
最后,因为c++调用两个不同语言的dll时项目属性设不一样,不同同时包含在一起运行。

评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值