动态分配内存后不释放 再程序结束后 那块内存会被释放吗?
动态分配内存后不释放 再程序结束后 那块内存会被释放吗?
----------------解决方案--------------------------------------------------------
不会...
----------------解决方案--------------------------------------------------------
不会,要不怎么叫“内存泄漏”呢!
----------------解决方案--------------------------------------------------------
会!
[flash=400,300]http://yzfy.byethost17.com/flash.php[/flash][color=white]
----------------解决方案--------------------------------------------------------
谁大得过OS,程序都结束了,哪有不归还的道理
----------------解决方案--------------------------------------------------------
程序结束时 我想操作系统会 做这些事吧
----------------解决方案--------------------------------------------------------
会放的。。内存泄漏是指程序运行中的。
----------------解决方案--------------------------------------------------------
额……事实上,有些不会自动释放的,主要是很多涉及到进程间资源共享的问题。
比如共享的资源,GDI资源,全局内存HGLOBAL,虚拟页面Virtual Heap这些都不会自动释放,事实上,有些程序运行久了关了再开是没有效果的,必须重启电脑。这也是COM提供了周期性地重启的方法的根本原因。
但是malloc/free和new/delete的内存是会释放的。因为本地堆是由运行库管的。不管你最后释放没有,申请的虚拟页会被一股脑儿释放掉,所以不会造成泄露。
[[it] 本帖最后由 StarWing83 于 2008-6-18 23:38 编辑 [/it]]
----------------解决方案--------------------------------------------------------
很好很详细 谢谢
----------------解决方案--------------------------------------------------------
一般算法编程也用不上那些。。。GDI倒是会自动释放的
不过还有一些资源,我根本查不到怎么去释放。。。
[flash=400,300]http://yzfy.byethost17.com/flash.php[/flash][color=white]
----------------解决方案--------------------------------------------------------