看板 C_and_CPP 關於我們 聯絡資訊
各位大大好~ 新手發問 c語言使用指標 初始化後並使用 在程式結束時要釋放其記憶體,不然記憶體會一直被佔用 但如果在除錯的時候,設定中斷點並且按下stop 而且沒有執行到delete釋放指令的話 使用的記憶體有被釋放嗎??? 如果這樣的話每除錯一次不就一直在跟os要記憶體使用 到最後不就爆掉了? 以上,感謝各位 也望解答 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 59.102.167.128 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1499605182.A.042.html
grayStone: os會自己收回來 07/09 21:00
s4300026: 所以在程式開發階段,都有人會幫你擦屁股的意思 07/09 21:38
uranusjr: 其實不是開發階段也會有人幫忙擦屁股啦, 除非是古早的 07/09 23:05
uranusjr: native mode 之類才會出事, 但結束前 free 還是好習慣 07/09 23:06
bluesoul: 每個程式的記憶體管理都是獨立的 07/09 23:53
james732: 程式結束的時候佔用的記憶體就會被作業系統收拾乾淨 07/10 00:59
moebear: 程式執行結束之後作業系統會幫你清垃圾 07/10 00:59
james732: 坦白說不是長時間執行的程式我都懶得乖乖釋放 07/10 00:59
moebear: 爆掉的時候應該是指程式要執行很久 沒有結束的時刻 07/10 00:59
Qbsuran: 如果要寫成daemon時候小心一點就好 07/10 10:06
Killercat: 現在的OS都能做到app結束回收記憶體 這也是為什麼你沒 07/10 11:12
Killercat: 辦法拿到真實位置記憶體的原因(可想成是paging的延伸) 07/10 11:12
Killercat: 但是你寫kernel space的時候你說的問題就會產生了 07/10 11:16
askacis: 隨手free是好習慣,尤其寫網路server 之類的,如果一條th 07/10 22:25
askacis: read就memory leak一次,很快的OOM killer之類的機制就會 07/10 22:25
askacis: 出面把你程式結束掉惹 07/10 22:25
Killercat: 其實抓valgrind去跑一跑就好了,我經驗來講這種小失誤 07/11 20:43
Killercat: 很難免,尤其exception.... 07/11 20:43