摘要:
C#在调用动态库接口,有时需要在C#中分配非托管内存,以便动态库可以写入返回的数据;有时我们需要传递一个复杂的数组等等。在C++的方法原型中,是一个*即指针,在C#的方法原型,相对应的可以是IntPtr,有些也可以直接使用[Out,In]等属性。 对于基础数组的数组,可以使用 Byte[] photoData = new Byte[CompressPhotoSize]; GCHandle gh = GCHandle.Alloc(photoData, GCHandleType.Pinned); IntPtr AddrOfPhotoData = gh.AddrOfPinnedObject();来获 阅读全文