怎样释放+AllocHGlobal+从进程的非托管内存中分配的内存 IntPtrptr=Marshal.AllocHGlobal(704*576*3);如果没有手动释放内存,会有内存溢出;产生OutOfMemoryException没有足够的内存继续履行程序时引发的异常。调用Marshal.AllocHGlobal必须调用Marshal.FreeHGlobal(ptr);来手动释放内存,即便调用GC.Collect();方法也没法释放。查看更多答案>;>;希望采纳托管代码和非托管代码有什么区别 广义的说,托管代码就是集成在你所使用的开发平台内的编程语言。例如:目前最常见的.Net 运行库里集成了VC+,C#,VB,F#.等20多种语言的构件和处理功能。托管代码:托管“的含义就是,这些语言的后台(隐性的)操作都由这个管理系统(.Net)完成了,你把你的编程委托给了开发平台(库)来完成。当你使用这些语言时,一些系统资源的调用、回收、编译…各种工作都由它来完成,你只需要专注于程序功能的实现即可。非托管代码:就是指不在你这个集成开发环境里,而是使用其它的开发平台写出的程序(代码)。比如说java语言(不是jscript),basic语言(不是VB),C语言(不是VC/C++/C#)等等…它们也有自己的开发平台和程序,用这些语言写出的程序就属于”非托管。当非托管的代码在你的托管平台上运行时,你的托管平台就不能很好地处理一些后台(隐性的)操作,就需要编写额外的代码来使它们变得和谐并且安全。举个最简单的例子:C和汇编语言,它们是最早期进入计算机领域的高级语言(汇编已经不能算高级语言了:)),它们可以直接对CPU、内存、总线、I/O、硬盘等硬件进行操作(读/写),像DOS、Windows、iOs这些操作系统都是用它们写的。所以你在.Net集成环境中直接使用这些。托管代码与非托管代码的区别 其实整个.NET项目都是运行在.NET Framework上的托管代码,这个道理和JAVA虚拟机的机制是类似的。最简单的说呢,受托管的代码不能直接写内存,是安全的,而非托管代码是非安全代码,可以使用指针操作内存。一般的项目使用托管代码都行了,也就是说在程序里面不需要用到非安全代码。对于一些对速度要求高的部分功能可以考虑使用非安全代码,使用指针等读写内存,而对于真个项目来说还是受托管的安全代码。有关非安全代码的信息请查阅MSDN unsafe。C#中使用托管资源和非托管资源的区别,以 托管资源指的是.NET可以自动进行回收的资源,主要是指托管堆上分配的内存资源。托管资源的回收工作是不需要人工干预的,有.NET运行库在合适调用垃圾回收器进行回收。非托管资源指的是.NET不知道如何回收的资源,最常见的一类非托管资源是包装操作系统资源的对象,例如文件,窗口,网络连接,数据库连接,画刷,图标等。这类资源,垃圾回收器在清理的时候会调用Object.Finalize()方法。默认情况下,方法是空的,对于非托管对象,需要在此方法中编写回收非托管资源的代码,以便垃圾回收器正确回收资源。在.NET中,Object.Finalize()方法是无法重载的,编译器是根据类的析构函数来自动生成Object.Finalize()方法的,所以对于包含非托管资源的类,可以将释放非托管资源的代码放在析构函数。注意,不能在析构函数中释放托管资源,因为析构函数是有垃圾回收器调用的,可能在析构函数调用之前,类包含的托管资源已经被回收了,从而导致无法预知的结果。本来如果按照上面做法,非托管资源也能够由垃圾回收器进行回收,但是非托管资源一般是有限的,比较宝贵的,而垃圾回收器是由CRL自动调用的,这样就无法保证及时的释放掉非托管资源,因此定义了一个Dispose()方法,让使用者。csharp 托管与非托管的区别,小弟先谢过了。 C#运行在虚拟机之中,但是虚抄拟机中的代码可能需要和外部交互,例如以前的C/C++开发的DLL的API,需要直接访问内存(或者说直接操作指针),或者需要将C#内部的内存传递给外部的API使用,这些操作在正常的情况下是不允许的(这被C#标记为unsafe的),那些包含管控(unsafe)的代码是就是非托管知代码;反之是safe的代码,是托管的代码。简单的理解,系统层面可以是unsafe,其他的是safe。托管代码可移植性好,对宿主道和外部没依赖,只依赖虚拟机。
随机阅读
- 贺岁金条是否需要塑封?? 中国金币总公司贺岁金条
- 阜阳毒奶粉事件你听过吗?
- sim卡芯片尺寸 SIM卡的规格划分
- 大话战国怎么修改帮贡 大话战国
- 广州东站怎么去三水? 广州东站到三水客运站
- 四氯甲烷能做什么 四氯甲烷是什么
- 我和房东签了一年的门面租期,因生产不好处于转让壮态,门面十月20日才到期这种情况怎么处理? 北京汇中园租房信息
- 做苹果软糖不放柠檬 柠檬苹果糖水
- 柏卡乐定时自动喂食器 哪种水草好养
- 你对你的另一半有什么要求吗? 你会要求你的另外一半是处吗
- 自然资源确权股 自然资源统一确权登记的主要内容
- 如果可以,你觉得跟哪个皇帝打天下最幸福? 舞阳县民兵连
- 谁知道合肥炮院那附近新开的海鲜酒楼叫什么名字? 合肥海鲜大酒店
- 既然是末法时期,是不是就是说佛法已经不能渡人了?佛祖早就预言了末法时期的到来吗? 佛说预言人类
- 广联达怎么布置变截面悬挑梁 广联达悬挑梁截面不一样钢筋信息也完全不一样 怎么布置
- 如何储存樱桃? 瓦房店为什么又封村了
- 通州武夷花园的房子现在卖多少钱 武夷花园水仙园 安居客
- 时间只是给没有重头再来的勇气 我就算有一天一无所有,也不缺从头再来的勇气
- 大桶水足浴城怎么样? 龙岩大桶水足浴养生项目
- 无线基站勘测设计工程师待遇如何 做移动的基站还有宽带勘察设计有前景嘛?