C#调用C/C++ DLL参数传递(2)
C#调用C/C++ DLL参数传递(二)
头文件dlldemo.h内容如下:
因为要导出函数,还要创建一个导出文件dlldemo.def
因为C++函数实际生成的名称与我们看到的名称是不一样的,所以直接在C++代码中使用__declspec(dllexport) 导出的函数在C#中找不到,需要用.def文件来实现。
此次示例包含了常用类型参数的转换及传递包括
1) 基本类型:int, unsigned char, float, double等
2) 指针类型;
3) 引用
4) 一维数组、二维数组
5) 简单结构体
6) 结构体中包含数组
7) 字符串类型
8) bool类型
后续再进行其它 类型的封装,如
9) 函数指针与回调函数
10) 类
下面结合代码对这些类型
1。 创建一个C++ 动态链接库的工程
实现文件dlldemo.cpp,内容如下
头文件dlldemo.h内容如下:
因为要导出函数,还要创建一个导出文件dlldemo.def
因为C++函数实际生成的名称与我们看到的名称是不一样的,所以直接在C++代码中使用__declspec(dllexport) 导出的函数在C#中找不到,需要用.def文件来实现。