游戏开发论坛

 找回密码
 立即注册
搜索
楼主: LoLitter

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

[复制链接]

30

主题

569

帖子

569

积分

高级会员

Rank: 4

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

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

  运营库的内存分配方面函数有十几个。NEW/DELETE不够,还要有new [] delete []。

80

主题

173

帖子

189

积分

注册会员

Rank: 2

积分
189
发表于 2006-5-26 12:14:00 | 显示全部楼层

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

没有人会同意你的观念的。尤其是游戏编程,更应该优化好内存管理。

10

主题

95

帖子

95

积分

注册会员

Rank: 2

积分
95
QQ
 楼主| 发表于 2006-5-26 12:50:00 | 显示全部楼层

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

运行时期的内存我都还是管理得比较妥当的,我指的仅仅是出现比较严重的错误的时候,例如显示器不支持显示模式,这时候报告然后直接退出有什么不对呢?既然没有副作用的话

80

主题

173

帖子

189

积分

注册会员

Rank: 2

积分
189
发表于 2006-5-26 13:01:00 | 显示全部楼层

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

      如果严重到出现蓝屏,你想释放应也没机会了,我觉得只要在可能的情况下,尽可能不出现内存泄漏。另一方面很多人用设计模式,防御性编程吓唬人。设计模式是为什么服务的。只要程序能简单,高效的解决问题就是王道。

10

主题

95

帖子

95

积分

注册会员

Rank: 2

积分
95
QQ
 楼主| 发表于 2006-5-26 16:59:00 | 显示全部楼层

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

其实我头痛的不是抛出异常的问题,关键是接受的问题,在库里面相比较高层的函数里面,每调用一个函数都要检查返回值或异常,让代码又臃肿又难看,而你在从外部使用这些函数的时候,基本上不会去检查返回值或者异常,例如你写2D游戏引擎,使用Blit的频率很高,如果每次都检查的话不是令人发狂了,而你写了异常不检查,不如不写,所以我毅然把Blit之流的函数的返回值全部设为void了

5

主题

13

帖子

13

积分

新手上路

Rank: 1

积分
13
发表于 2006-5-26 17:14:00 | 显示全部楼层

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

凡事有个度,有洁癖就不好了

86

主题

2251

帖子

2386

积分

金牌会员

Rank: 6Rank: 6

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

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

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

其实我头痛的不是抛出异常的问题,关键是接受的问题,在库里面相比较高层的函数里面,每调用一个函数都要检...

嫌臃肿可以做封装嘛~你说的简洁不是优美

6

主题

90

帖子

90

积分

注册会员

Rank: 2

积分
90
发表于 2006-5-26 18:04:00 | 显示全部楼层

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

让WINDOWS来处理这个问题吧

2

主题

53

帖子

65

积分

注册会员

Rank: 2

积分
65
发表于 2006-5-26 18:31:00 | 显示全部楼层

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

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

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

跟贴已婚人士
嗯,不过这样做的人肯定连临时内存也不释放,习惯太差阿。 [em19]

10

主题

95

帖子

95

积分

注册会员

Rank: 2

积分
95
QQ
 楼主| 发表于 2006-5-26 19:08:00 | 显示全部楼层

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

这不是内存是否释放的问题,而是异常处理的问题,如果要避开异常处理直接退出的话,你不可能一起把其它库的内存也释放了,只有选择都不释放。我刚才把这些代码全部改正了,大多数都用返回值传递错误,而不是直接退出,代码还不错,看起来也比较舒服,这个问题就算解决了。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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