C#调用C++的dll文件

1.C++生产动态dll文件:

1.1 新建项目

VS新建-->项目-->模板-->Visual C++-->Win32控制台应用程序

C#调用C++的dll文件_第1张图片

下一步-->dll、空项目-->完成

C#调用C++的dll文件_第2张图片

 

1.2 新建cpp头文件:cal.h

#pragma once
extern  "C" _declspec(dllexport) int add(int x, int y);
extern  "C" _declspec(dllexport) int del(int x, int y);

1.3 新建cpp源文件:cal.cpp

#include "iostream"
using namespace std;

extern  "C" _declspec(dllexport) int add(int x, int y)
{
	return x + y;
}
extern  "C" _declspec(dllexport) int del(int x, int y)
{
	return x - y;
}

1.4 右击项目-->重新生成,生成calculate.dll文件

C#调用C++的dll文件_第3张图片

2.C#调用C++生成的动态dll文件:

2.1 新建C#项目

2.2 将生成的calculate.dll文件放到C#项目的debug下

2.3 C#项目中添加一个cal类,声明C++中的方法

class cal
    {
        [DllImport("calculate.dll", CallingConvention =CallingConvention.Cdecl)] //引入dll,并设置字符集
        public static extern int add(int a,int b);
        [DllImport("calculate.dll", CallingConvention = CallingConvention.Cdecl)] //引入dll,并设置字符集
        public static extern int del(int a, int b);
    }

2.4 main函数中,直接调用cal中的函数

private void button1_Click(object sender, EventArgs e)
        {
            MessageBox.Show("res:"+cal.del(10,5));
        }

 

你可能感兴趣的:(asp.net)