C#调用C/C++ DLL参数传递(2)

C#调用C/C++ DLL参数传递(二)

此次示例包含了常用类型参数的转换及传递包括

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文件来实现。