vs创建dll文件,在C#调用C++函数

C++部分

1、创建DLL工程

文件->新建->项目->visual c+±>win32->win32控制台应用程序(win32项目也可以,后续可以更改平台为x64)

填写项目名称MyDLL->确定->下一步->DLL(附加选项 对空项目打钩)->完成。

2、编写头文件和源文件

头文件MyDLL.h中可以声明函数或者构建结构体,stdafx.h中可以引用程序需要的其他头文件。(例如结构体头文件,这样就不用在主运行文件中引用多个头文件,文件数少的时候虽然感觉没什么影响,但是当文件多的时候,主运行文件的引用头文件不会显得很臃肿)源文件MyDLL.cpp写调用函数。下面简单写一个相加函数进行调用。

MyDLL.h

#pragma once //头文件只加载一次
extern "C" __declspec(dllexport) int Add(int a,int b); 

MyDLL.cpp

int Add(int a,int b)return a+b;

3、生成DLL文件

右击项目,点击生成,dll文件就生成了。
在这里插入图片描述
或者点击头部菜单的生成,点击生成解决方案。
在这里插入图片描述

C#中

将上述生成的MyDLL.dll复制到C#的Debug所在的目录。

1、引入dll文件

在需要引用dll文件中函数位置上方,添加下方代码,即可正常使用add函数。

[DllImport("DemoTest.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern int add(int a, int b);

注:由于C++和C#两种语言中int是一样的,因此直接传int类型的数是允许的(值能在C++和C#交互),如果是结构体则不能这么传输。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值