C++编写动态库(.DLL)给C#调用方法

Posted verystrong

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++编写动态库(.DLL)给C#调用方法相关的知识,希望对你有一定的参考价值。

1、在头文件中按照如下格式编写函数申明

extern "C" __declspec(dllexport) double __stdcall Add(double a, double b);

 

2、在cpp文件中按照如下实现函数

double __stdcall Add(double a, double b)

return a + b;

 

 

3、创建一个def文件,用于描述导出后的函数名,防止生成不一致问题和其他语言调用问题

技术图片

 

def文件中编写内容如下:

LIBRARY "Dll1"
EXPORTS
 Add @ 1

 

 

4、创建C#工程,在对应的类中增加如下代码直接调用C++动态库中的函数

[DllImport(@"F:\\C++\\DllTest\\Dll1\\Release\\Dll1.dll")]
static extern double Add(double a, double b);

 

以上是关于C++编写动态库(.DLL)给C#调用方法的主要内容,如果未能解决你的问题,请参考以下文章

VS2017下创建C++动态库导出符合并完成调用测试(DLL可供C#调用)

C#如何静态调用C++中的方法(静态调用dll)

C#调用C++动态库接口函数和回调函数

C#调用C++动态库接口函数和回调函数

C#中如何调用动态链接库DLL

C#调用C++编写的DLL(非托管)