| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 474 人关注过本帖
标题:提个关于内存的问题。求答案。
只看楼主 加入收藏
shenlanlan
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2011-8-25
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:7 
提个关于内存的问题。求答案。
比如说,一个程序声明了1000个元素的内存空间,程序运行一遍,占用了1000个内存空间,如果运行第二遍,是重新分配另一段空间,还是继续使用第一次分配的内存?如果将程序改为动态分配内存,那之前所占用的内存可以被释放吗?
搜索更多相关主题的帖子: 元素 动态 内存 
2012-09-12 17:53
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:10 
你进同一间餐馆吃饭,能保证每次都坐在同一个座位上?

授人以渔,不授人以鱼。
2012-09-12 18:03
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:10 
如果将程序改为动态分配内存,那之前所占用的内存可以被释放吗?

如果你在程序里没释放 那么 在程序退出的时候由操作系统负责释放
2012-09-12 18:04
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
以下是引用zklhp在2012-9-12 18:04:30的发言:

如果将程序改为动态分配内存,那之前所占用的内存可以被释放吗?

如果你在程序里没释放 那么 在程序退出的时候由操作系统负责释放

Linux有这样保证过吗?DOS不会,Windows NT之后的版本会。如果什么操作系统都保证这样,那么就不存在业界反复提醒程序员释放内存的戒条。

授人以渔,不授人以鱼。
2012-09-12 18:06
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:0 
以下是引用TonyDeng在2012-9-12 18:06:40的发言:


Linux有这样保证过吗?DOS不会,Windows NT之后的版本会。如果什么操作系统都保证这样,那么就不存在业界反复提醒程序员释放内存的戒条。

我说【操作系统负责】的意思就是 如果不释放 那就是操作系统的事了 当然 这个错误还是在程序。。

至于linux是不是这样我就不知道了

如果什么操作系统都保证这样,那么就不存在业界反复提醒程序员释放内存的戒条。

问题是啊 如果不是释放 不停分配 总会达到内存的上限 程序就分配内存失败 一般就出错退出了 当然 也可能系统就崩溃了


[ 本帖最后由 zklhp 于 2012-9-12 18:10 编辑 ]
2012-09-12 18:09
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
原则上说,自己拉屎自己擦屁股。程序向操作系统申请动态内存,就自己宣布释放,否则操作系统只能认为你一直在使用,不会主动去剥夺你的使用权,这就是内存泄漏的本质。大多数操作系统都有充分的理由不在程序结束后收回申请的内存,所以有那个戒条。但Windows NT知道世界上的人有多懒,而且这样的风险有多高,所以自己主动承担了这样的责任,它用各种各样的措施来保证程序进程结束后收回这个进程使用的一切内存,从而把自己搞得很“复杂”,不过,这居然成了某些人攻击Windows庞大臃肿的借口。

授人以渔,不授人以鱼。
2012-09-12 18:15
shenlanlan
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2011-8-25
收藏
得分:0 
回复 2楼 TonyDeng
嗯。。。这个比喻贴切,明白了。。谢谢你啦不过我有点小小的不好意思了~~~~得好好补习基础知识。
2012-09-12 18:17
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:0 
记得结题 最近得分好少啊 唉 害得我都不能安心搬砖了
2012-09-12 18:21
快速回复:提个关于内存的问题。求答案。
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.012661 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved