作者DaiJyou (解药)
看板C_and_CPP
标题[问题] c 指标释放记忆体
时间Sun Jul 9 20:59:39 2017
各位大大好~
新手发问
c语言使用指标 初始化後并使用
在程式结束时要释放其记忆体,不然记忆体会一直被占用
但如果在除错的时候,设定中断点并且按下stop
而且没有执行到delete释放指令的话
使用的记忆体有被释放吗???
如果这样的话每除错一次不就一直在跟os要记忆体使用
到最後不就爆掉了?
以上,感谢各位 也望解答
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 59.102.167.128
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/C_and_CPP/M.1499605182.A.042.html
1F:→ grayStone: os会自己收回来 07/09 21:00
2F:推 s4300026: 所以在程式开发阶段,都有人会帮你擦屁股的意思 07/09 21:38
3F:→ uranusjr: 其实不是开发阶段也会有人帮忙擦屁股啦, 除非是古早的 07/09 23:05
4F:→ uranusjr: native mode 之类才会出事, 但结束前 free 还是好习惯 07/09 23:06
5F:→ bluesoul: 每个程式的记忆体管理都是独立的 07/09 23:53
6F:推 james732: 程式结束的时候占用的记忆体就会被作业系统收拾乾净 07/10 00:59
7F:→ moebear: 程式执行结束之後作业系统会帮你清垃圾 07/10 00:59
8F:→ james732: 坦白说不是长时间执行的程式我都懒得乖乖释放 07/10 00:59
9F:→ moebear: 爆掉的时候应该是指程式要执行很久 没有结束的时刻 07/10 00:59
10F:推 Qbsuran: 如果要写成daemon时候小心一点就好 07/10 10:06
11F:→ Killercat: 现在的OS都能做到app结束回收记忆体 这也是为什麽你没 07/10 11:12
12F:→ Killercat: 办法拿到真实位置记忆体的原因(可想成是paging的延伸) 07/10 11:12
13F:→ Killercat: 但是你写kernel space的时候你说的问题就会产生了 07/10 11:16
14F:推 askacis: 随手free是好习惯,尤其写网路server 之类的,如果一条th 07/10 22:25
15F:→ askacis: read就memory leak一次,很快的OOM killer之类的机制就会 07/10 22:25
16F:→ askacis: 出面把你程式结束掉惹 07/10 22:25
17F:→ Killercat: 其实抓valgrind去跑一跑就好了,我经验来讲这种小失误 07/11 20:43
18F:→ Killercat: 很难免,尤其exception.... 07/11 20:43