C#调用C++步骤
一、创建一个C++空项目
项目添加完成后,分别在头文件和源文件夹添加.h和.cpp文件
AddOperate.h文件中代码
//extern “C”的作用是告诉C++编译器用C规则编译指定的代码
//因为C和C++的编译规则不一样,主要区别体现在编译期间生成函数符号的规则不一致
extern "C" _declspec(dllexport) int Sum(int a, int b);
class AddOperate
{
public:
};
AddOperate.cpp文件中代码
#include "AddOperate.h"
using namespace std;
int Sum(int a, int b)
{
return a + b;
}
二、C++编译设置
然后“生成”就得到C++的dll了。
三、C#引用
1、将上面生成的dll文件放到C#项目的debug文件夹,然后编写如下类,动态导入dll.
public class cal
{
[DllImport("AddOperate.dll", EntryPoint = "Sum",CallingConvention =CallingConvention.Cdecl)]
public static extern int add(int a, int b);
}
2、调用
private void Button_Click(object sender, RoutedEventArgs e)
{
MessageBox.Show(cal.add(1, 2).ToString());
}
3、结果