C#调用C++动态库
程序员文章站
2022-07-14 09:38:14
...
通过一个很简单的demo,讲解以下如何在C#项目里调用C/C++动态库,实现的功能就是点击按钮,输出1+2的结果,求和功能利用C/C++代码实现
1. 创建动态库项目
A.选择Win32-Win32 项目-输入名称/存放位置-确定
B.选择下一步
C.选择DLL 空项目
D.test.h
extern "C" __declspec(dllexport) int add(int a, int b);
test.cpp
#include"test.h"
int add(int a, int b){
return a + b;
}
E.生成动态库:在项目上右键,选择生成
F.在输出页面,就会显示生成成功
2. 创建C# Windows窗体应用程序
实现调用DLL函数:
[System.Runtime.InteropServices.DllImport("DllTest.dll", EntryPoint = "add",CallingConvention = System.Runtime.InteropServices.CallingConvention.Cdecl)]
private static extern int add(int a, int b);
创建按键控件,Label控件,输入按键控制程序
private void button1_Click(object sender, EventArgs e)
{
int sum = add(1, 2);
label1.Text = "计算结果为: " + sum.ToString();
}
3. 运行,会发现找不到Dll
需要设置.dll文件的输出目录,输出到C#项目的bin Debug或Release目录下,设置如下
4.再次运行,就成功了
上一篇: linux php调用c库
下一篇: C#调用C++动态库