『讨论』内存泄漏的不良后果
如果程序终止了运行,一切指针都会消亡,动态内存会被操作系统回收。既然如此,在程序临终前,就可以不必释放内存、不必将指针设置为NULL了。终于可以偷懒而不会发生错误了吧?
想得美。如果别人把那段程序取出来用到其它地方怎么办?
--------高质量C++/C编程指南,林锐
我个人认为这个有所片面,程序结束---不单单指exe结束吧,比如dll的卸载
在dll里面分配的动态内存,系统回收,但是---就我前一阵碰到的问题,一个dll存在内存泄漏,卸载之后貌似把别的dll的内存区域给弄“脏”了,导致某些函数无法实现。
那么请问,内存泄漏究竟有些什么不良后果呢?
是不是只要我这个程序不是24小时运行的,那么内存泄漏一点就没有关系呢?
顶多觉得慢了就关掉得了,会不会有些其它的不良后果呢?
谢谢了
[解决办法]
是的,内存泄漏会导致一个程序无法长期运转,这对于很多服务型程序是关键。无论什么程序,泄漏内存,在crash掉或者close掉后,内存都会被windows收回
[解决办法]
关注 折腾了几天就是为了解决内存/缓存增加的问题,但还是不够理想.希望能找到一种像.NET样的自动检测垃圾内存并回收的机制
[解决办法]
不同的操作系统处理泄漏的内存也不一样,不要指望系统会处理一切。
[解决办法]
关闭后所有内存全部收回,因为你运行再windows上,你所作的一切它都明白。只是泄漏的内存对于它来说是你正在使用的,所以它不能再你使用的时候去释放它。
[解决办法]
不同的操作系统处理泄漏的内存也不一样,不要指望系统会处理一切。
====================================================================
嘿嘿,最多我们不用那些不具有这些人性化功能的垃圾系统,是吧?
[解决办法]
养成良好编程习惯~~ new delete 保证同步
菜鸟还不太懂-_-!
[解决办法]
内存泄漏也就是不断的占用资源,却不释放资源。在资源充沛的情况下,自然不会表现出什么后果。在长时间需要运行的程序中如果内存泄漏,显然到某个点自己都无法继续运行。在资源受限的,特别是嵌入式系统中,一个线程上不断的内存泄漏势必最终导致整个系统的崩溃。
在c/c++中这确实是个头痛的问题。但没办法,如果你开发这样的系统,就要尽可能的保证没有内存泄漏,暂时看不到后果并不等于不会产生后果,我们没有理由让有可能产生严重后果的隐患存在。
[解决办法]
你弄张大图片,显示下,然后不要释放内存,反复刷新,然后你就发现Windows的下面的工具条飞到桌面上方了,这就是我原来一个图形程序调试中的结果!
[解决办法]
内存足够多就没有什么坏后果。
[解决办法]
程序死掉,崩掉.
[解决办法]
回收了,如果dll不是作为资源使用的话
[解决办法]
虽然在程序关闭后,现代的操作系统都会收回的资源,但是收回的资源不一定会是已经整理好的空间,这些内存可能会是一些碎片,所以内存泄漏即使在程序关闭后对系统还是有不良影响的。
[解决办法]
挂了
[解决办法]
学习了.
[解决办法]
你弄张大图片,显示下,然后不要释放内存,反复刷新,然后你就发现Windows的下面的工具条飞到桌面上方了,这就是我原来一个图形程序调试中的结果!
-----------
遇到过。
事实上,GDI对象的不加回收很可能导致显示界面出现奇怪无比的情况,
比如CFont不作回收,很快,显示的文字就刷到莫名其妙的地方去了,比如屏幕左上角
同时窗体显示混乱,按钮行为异常
几年前一个ColorPicker软件,很好用,但是用了一会会导致整个屏幕无法响应鼠标点击操作,
估计就是这种原因
[解决办法]
我是菜鸟,专门进来学习的,这帖子真火!