游戏开发论坛

 找回密码
 立即注册
搜索
查看: 8171|回复: 26

是否退出程序一切都内存不用管了?

[复制链接]

10

主题

95

帖子

95

积分

注册会员

Rank: 2

积分
95
QQ
发表于 2006-5-25 23:08:00 | 显示全部楼层 |阅读模式
最近重新写一遍我的DirectDraw库,发现以前很多的错误都没有处理,并发誓,要好好地检查每一个错误,并把错误一层一层地往上面抛回使用的地方然后退出消息循环,释放所有的库,正常退出程序,但这几乎弄得我发狂,有的是DD的HRESULT,有的是我自己的BOOL,有的是抛出来的异常,而且如果要好好地遵守"防御式编程",你要考虑的情况多得数不清,决定不再做这样一件吃力但没有太大作用的事,并在所有发生比较严重错误的地方直接把程序退了,我的理解是,由于windows为每一个程序分配独立的内存,只要退出了程序,这些内存也就不用管了,自动释放掉了,不知道是不是正确的理解.请教

30

主题

569

帖子

569

积分

高级会员

Rank: 4

积分
569
发表于 2006-5-25 23:17:00 | 显示全部楼层

Re:是否退出程序一切都内存不用管了?

  程序写的烂到那个程度,还好意思问。

9

主题

50

帖子

60

积分

注册会员

Rank: 2

积分
60
QQ
发表于 2006-5-26 00:46:00 | 显示全部楼层

Re:是否退出程序一切都内存不用管了?

没错,除了早期破烂的windows(win95之流),其他windows不会让你浪费内存的

60

主题

1319

帖子

1319

积分

金牌会员

Rank: 6Rank: 6

积分
1319
发表于 2006-5-26 02:19:00 | 显示全部楼层

Re:是否退出程序一切都内存不用管了?

程序退出的时候Windows会自动把分配的内存收回,不过还是应该养成好习惯。

1万

主题

1万

帖子

2万

积分

管理员

中级会员

Rank: 9Rank: 9Rank: 9

积分
20737
发表于 2006-5-26 09:22:00 | 显示全部楼层

Re:是否退出程序一切都内存不用管了?

虽然现在windows管理的不错,但是最好还是能自己释放。

15

主题

1268

帖子

1268

积分

金牌会员

Rank: 6Rank: 6

积分
1268
发表于 2006-5-26 09:36:00 | 显示全部楼层

Re:是否退出程序一切都内存不用管了?

很多游戏都不自己释放,你可以发现很多国外大作,进入游戏很慢但是退出极快,不到几秒就出现桌面

72

主题

447

帖子

454

积分

中级会员

Rank: 3Rank: 3

积分
454
QQ
发表于 2006-5-26 10:25:00 | 显示全部楼层

Re: Re:是否退出程序一切都内存不用管了?

Civilian: Re:是否退出程序一切都内存不用管了?

很多游戏都不自己释放,你可以发现很多国外大作,进入游戏很慢但是退出极快,不到几秒就出现桌面


退出极快这是因为不自己释放内存的原因!
关于释放我也遇到好笑的事情,原来写过一个《快乐西游》模仿程序,在每次分配完内存以后都很仔细的把指针Release掉,程序运行的也颇为满意。结果有一天发现,我自己写的Release()函数写得很整齐却从未在程序里加载过,这个郁闷啊。呵呵 [em14]

8

主题

122

帖子

122

积分

注册会员

Rank: 2

积分
122
发表于 2006-5-26 10:50:00 | 显示全部楼层

Re:是否退出程序一切都内存不用管了?

让操作系统释放好了,程序自己释放是多此一举

30

主题

569

帖子

569

积分

高级会员

Rank: 4

积分
569
发表于 2006-5-26 11:21:00 | 显示全部楼层

Re:是否退出程序一切都内存不用管了?

程序释放有利于发现内存错误。

86

主题

2251

帖子

2386

积分

金牌会员

Rank: 6Rank: 6

积分
2386
QQ
发表于 2006-5-26 11:46:00 | 显示全部楼层

Re:是否退出程序一切都内存不用管了?

重载new/delete写个内存泄露检测器

http://www-128.ibm.com/developerworks/cn/linux/l-mleak2/index.html

改下代码,输出个对话框报内存泄露
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2026-1-24 15:31

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表