导航
  • 主页
  • VC综合技术
  • 互联网技术
  • MFC AppLauncher
  • .NET 技术
  • 界面
  • 进程
  • 算法
  • 硬件/系统
  • 数据库
  • VC++技术资源

Windows操作系统是否能在应用程序退出的时候回收该程序申请的全部内存?

maquanwei 2004-04-01 10:38:38
在项目开发过程中,我发现了别人的代码中有大量的内存泄漏的;情况。

但是由于程序已经很大、很复杂,同时还有一些认识上的问题,让别人修改自己的代码,去掉这些内存泄漏可能来不及了。

我现在只是想向大家请教一下,如果我们的程序不是那种需要长期运行的程序,我们是否可以忽略这些内存泄漏?
...全文
38 点赞 收藏 8
写回复
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
xuanzg 2004-04-01
程序离开, 他的空间也就自动释放了,就好像。。。在磁盘上删了一个文件:)
最好解决掉,泄漏问题, 否则用户会认为你的程序太不好了(他越用越慢:))
回复
888atao 2004-04-01
一个进程会有一个自己的4G空间
它所有对自己操作的操作都在这4G空间中进行
当程序结束时,这4G空间就会被操作系统释放
所以当程序结束时,它的所有资源都会释放的

但有一种情况除外
就是在你的进程中对别的进程分配内存VirtualAllocEx()
这样你的进程退出后,分配的空间也不会被释放
不过这种情况很少的
回复
888atao 2004-04-01
一个进程会有一个自己的4G空间
它所有对自己操作的操作都在这4G空间中进行
当程序结束时,这4G空间就会被操作系统释放
所以当程序结束时,它的所有资源都会释放的

但有一种情况除外
就是在你的进程中对别的进程分配内存VirtualAllocEx()
这样你的进程退出后,分配的空间也不会被释放
不过这种情况很少的
回复
ymbymb 2004-04-01
程序退出时,系统会收回分配给他的所有资源,如果程序运行时间不长就没问题
回复
QunKangLi 2004-04-01
1个小时内结束的程序不必管它
回复
快乐鹦鹉 2004-04-01
本来我是一楼的。可是老刷新不了。气人阿
回复
快乐鹦鹉 2004-04-01
是的。应用程序退出时,所有的泄漏都可以回收。
只要不是泄漏的太厉害就可以了。
最怕的就是在不知道循环多少次的语句中出现内存泄漏。比如循环遍历一个表中的所有记录等等。
回复
clife 2004-04-01
你可以看一下操作系统内存管理的一些东西。
windows是会在应用程序退出的时候回收该程序申请的全部内存,
但是你的程序可能会越来越慢,如果内存需求是个瓶颈的话。
回复
发动态
发帖子
VC/MFC
创建于2007-09-28

1.5w+

社区成员

VC/MFC相关问题讨论
申请成为版主
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……