假设我想从C#调用非托管C ++函数。 C ++函数有以下原型:
int doSomething(int arraySize, int* array)
我从C#调用函数如下:
[DllImport(MyLibrary, CallingConvention = CallingConvention.Cdecl)]
public static int doSomething(int arraySize, int[] array)
int[] myArray = new int[] { 1, 2, 3 };
doSomething(myArray.Length, myArray);
myArray
被固定了吗?当非托管库正在处理它时,垃圾收集器是否有可能将阵列移动到其他位置?