PTT
Submit
Submit
選擇語言
正體中文
简体中文
PTT
C_and_CPP
[問題] free()和delete的問題
作者:
d630200x
(DOGE)
2019-09-13 16:02:06
在動態配置記憶體時,C用malloc(),C++用new
而不管是在網路還是書籍上,都會強調必須在生命週期結束後將記憶體歸還回去
那麼如果是在程式crash或是我們手動將程式結束掉的情況下
這些動態配置的記憶體是os回收掉還是C&C++做回收?
作者:
sweetmiki
(只有初音 沒有未來)
2018-09-07 19:42:00
給你的雞雞一雙翅膀 跨國界尻槍
作者:
qqq3892005
(ShinyaS)
2018-09-07 19:48:00
雞翅→G翅→G WING→GG WIN→GG double IN→GGININ
作者:
b0920075
(Void)
2019-09-13 17:45:00
os
作者:
Schottky
(順風相送)
2019-09-13 20:17:00
Crash 由 OS 收屍,手動結束有可能程式自己會處理後事當然程式如果沒有處理/來不及處理還是 OS 會收拾殘局具體的說就是用 atexit() 設定「辦後事」的 functionGUI 程式也可以設定按 X 或被 OS 通知結束時的行為那有沒有不會收屍的OS?有啊,程式crach就整台電腦當機
作者:
EricTCartman
(阿ㄆㄧㄚˇ)
2019-09-13 20:34:00
不當機還是會有OS不幫忙收拾的狀況 有些OS就是沒做
作者:
stupid0319
(徵女友)
2019-09-13 22:40:00
windows在O3層虛擬記憶體定址的話,OS直接就收掉如果是寫驅動程式的話,就要很小心了
作者:
ando5566
(風雲變色)
2019-09-14 12:23:00
回答問題:由程式回收
作者:
cphe
(魔鬼藏在垃圾筒裡)
2019-09-15 18:51:00
OS會收,通常會考慮leak的狀況是,很多程式其實是一直在背景跑不會結束,如果不free就會一直吃memory ,直到被terminate
作者:
arshuan
(阿軒)
2019-11-17 14:18:00
你一般user space的程式在執行就是OS allocate 一塊記憶體給你 你不管怎麼用不管靜態或動態配置都不可能超出那塊, 程式關閉後OS自然把整塊記憶體回收 所以不用擔心會有任何memory leak影響到整個系統我上面講的可能不太對 應該說你程式跟OS要過多少記憶體OS都有紀錄 所以程式關閉時OS一定會把所有配給該程式的記憶體收回 但是如果你程式沒關閉又一直要記憶體 OS當然不會去回收 才會導致所謂的memory leak
繼續閱讀
Re: [問題] 使用指標的時機
kaneson
[問題] const pointer & pointer to const
Tverous
Re: [問題] 使用指標的時機
tinlans
cout 與 printf 的加速小秘訣
Schottky
Re: [問題] 使用指標的時機
tinlans
Re: [問題] 使用指標的時機
PythonScript
Re: [問題] 使用指標的時機
EricTCartman
[問題] 使用指標的時機
PythonScript
Re: [問題] txt檔案讀取一行,放入到陣列並顯示
poyenc
[問題] txt檔案讀取一行,放入到陣列並顯示
jayzhuang
Links
booklink
Contact Us: admin [ a t ] ucptt.com