C# 非托管编程,指针和数组的相互转换

引用:https://www.cnblogs.com/lifuhua/p/6183205.html

IntPtr ptr3 = Marshal.AllocHGlobal(0x40000);//分配非托管内存空间

Marshal.Copy(bRawData, 0, ptr3, bRawData.Length);//将数组数组拷贝到非托管内存指针

Marshal.FreeHGlobal(ptr3);//释放内存

 

 

 byte[] bRawData = new byte[0x16800];//声明数组空间


IntPtr pRawData = Marshal.AllocHGlobal(0x16800); //分配非托管内存空间

Marshal.Copy(pRawData, bRawData, 0, 0x16800);//将非托管内存指针数据复制到数组中


Marshal.FreeHGlobal(pRawData);//释放内存

你可能感兴趣的:(C#)