我们在使用C#进行开发时,时常会遇到调用win32API以及底层C++的dll,这时我们就需要注意类型的对应关系了。
首先,先来看下c++和c#数据类型的对应关系
下面是例子,C#端调用c++的dll时,如何进行数组类型对应及调用 ,这里需要C#端进行分配内存空间
void SetDataToCom()
{
var arrayy = new int[3]{1,2,3};
int size = Marshal.SizeOf(arrayy[0]) * arrayy.Length;
marshalDataList = Marshal.AllocHGlobal(size);
Marshal.Copy(arrayy, 0, marshalDataList, arrayy.Length);
Mycom.SetCom(marshalDa