unsafe &结构体 只能是值类型
gchandle
GCHandle.Alloc(object ... 类似作用gc.keepalive .....gch.Free()后才能被垃圾回收
GCHandle.Alloc函数的第二个形参,除了有GCHandleType.Normal 外,还有Pinned。但Normal不会固定其地址,只是保证内存不被GC回收。而Pinned可以将地址固定住,Pinned后这将防止垃圾回收器移动内存地址。
获取引用型对象的地址:GCHandle.ToIntPtr
从地址得到对象:var a= GCHandle.FromIntPtr(Ptr_Mem); obj=a.target;
gchandle
GCHandle.Alloc(object ... 类似作用gc.keepalive .....gch.Free()后才能被垃圾回收
GCHandle.Alloc函数的第二个形参,除了有GCHandleType.Normal 外,还有Pinned。但Normal不会固定其地址,只是保证内存不被GC回收。而Pinned可以将地址固定住,Pinned后这将防止垃圾回收器移动内存地址。
获取引用型对象的地址:GCHandle.ToIntPtr
从地址得到对象:var a= GCHandle.FromIntPtr(Ptr_Mem); obj=a.target;