[问题] c 指标释放内存

楼主: DaiJyou (解药)   2017-07-09 20:59:39
各位大大好~
新手发问
c语言使用指标 初始化后并使用
在程式结束时要释放其内存,不然内存会一直被占用
但如果在除错的时候,设定中断点并且按下stop
而且没有执行到delete释放指令的话
使用的内存有被释放吗???
如果这样的话每除错一次不就一直在跟os要内存使用
到最后不就爆掉了?
以上,感谢各位 也望解答
作者: grayStone (灰色石头)   2017-07-09 21:00:00
os会自己收回来
作者: s4300026 (s4300026)   2017-07-09 21:38:00
所以在程式开发阶段,都有人会帮你擦屁股的意思
作者: uranusjr (←這人是超級笨蛋)   2017-07-09 23:05:00
其实不是开发阶段也会有人帮忙擦屁股啦, 除非是古早的native mode 之类才会出事, 但结束前 free 还是好习惯
作者: bluesoul (忙死你老爸)   2017-07-09 23:53:00
每个程式的内存管理都是独立的
作者: james732 (好人超)   2017-07-10 00:59:00
程式结束的时候占用的内存就会被作业系统收拾干净
作者: moebear (萌熊)   2017-07-10 00:59:00
程式执行结束之后作业系统会帮你清垃圾
作者: Qbsuran (Qbsuran)   2017-07-10 10:06:00
如果要写成daemon时候小心一点就好
作者: Killercat (杀人猫™)   2017-07-10 11:12:00
现在的OS都能做到app结束回收内存 这也是为什么你没办法拿到真实位置内存的原因(可想成是paging的延伸)但是你写kernel space的时候你说的问题就会产生了
作者: askacis (ASKA)   2017-07-10 22:25:00
随手free是好习惯,尤其写网络server 之类的,如果一条thread就memory leak一次,很快的OOM killer之类的机制就会出面把你程式结束掉惹
作者: Killercat (杀人猫™)   2017-07-11 20:43:00
其实抓valgrind去跑一跑就好了,我经验来讲这种小失误很难免,尤其exception....

Links booklink

Contact Us: admin [ a t ] ucptt.com