**
先看C++这边
**
首先创建c++动态链接库项目
创建完成后添加头文件
/* 头文件 */
#pragma once
#define CREATDLL_API __declspec(dllexport)
extern "C" CREATDLL_API int add(int a, int b);//声明函数,暴露接口
创建CPP文件,包含刚创建的头文件,然后定义函数
在这里插入代码片
#include "pch.h"
#include "dllmain.h" //包含刚刚创建的头文件
BOOL APIENTRY DllMain( HMODULE hModule,
DWORD ul_reason_for_call,
LPVOID lpReserved
)
{
switch (ul_reason_for_call)
{
case DLL_PROCESS_ATTACH:
case DLL_THREAD_ATTACH:
case DLL_THREAD_DETACH:
case DLL_PROCESS_DETACH:
break;
}
return TRUE;
}
int add(int a, int b)
{
return a + b;
}
选择生成目标平台,x64
点击生成,红色圈起来的是生成的dll的所在路径
**
再来看C#这边
**
创建项目,然后将生成的DLL放到项目文件夹里边
调用dll代码
namespace ConsoleApp1
{
class Program
{
static void Main(string[] args)
{
int a = 3, b = 3;
Console.WriteLine(add(a, b));
Console.ReadKey();
}
[DllImport("Dllimport.dll")]//调用dll
public extern static int add(int a, int b);
}
}
在这里插入代码片
生成选择与c++对应的64位平台
输出结果