各位前辈老师,下面对应的这个方法的解释理解不是很清楚,能否讲解一下。谢谢!
Marshal.AllocHGlobal 方法 (Int32)
通过使用指定的字节数,从进程的非托管内存中分配内存。
IntPtr hglobal = Marshal.AllocHGlobal(100);
//这个100代表什么意思?
//hglobal又怎么理解?
Marshal.FreeHGlobal(hglobal);
Marshal.AllocHGlobal 方法 (Int32)
通过使用指定的字节数,从进程的非托管内存中分配内存。
IntPtr hglobal = Marshal.AllocHGlobal(100);
//这个100代表什么意思?
//hglobal又怎么理解?
Marshal.FreeHGlobal(hglobal);
解决方案
30
100就是100个字节
hglobal是这100个字节的第一个字节的地址
两个方法相当于c里面的malloc, free
hglobal是这100个字节的第一个字节的地址
两个方法相当于c里面的malloc, free
10
H = heap 堆
Global = 全局
Alloc = Allocate 分配
Global = 全局
Alloc = Allocate 分配