記憶體溢位和記憶體洩露的區別

2021-08-20 08:24:26 字數 312 閱讀 9108

記憶體溢位(out of memory)通俗理解就是記憶體不夠,通常在執行大型軟體或遊戲時,軟體或遊戲所需要的記憶體遠遠超出了你主機內安裝的記憶體所承受大小,就叫記憶體溢位。此時軟體或遊戲就執行不了,系統會提示記憶體溢位,有時候會自動關閉軟體,重啟電腦或者軟體後釋放掉一部分記憶體又可以正常執行該軟體。

記憶體洩漏(memory leak)是指程式中己動態分配的堆記憶體由於某種原因程式未釋放或無法釋放,造成系統記憶體的浪費,導致程式執行速度減慢甚至系統崩潰等嚴重後果。

memory leak會最終會導致out of memory!

記憶體溢位和記憶體洩露的區別

記憶體溢位 out of memory,是指程式在申請記憶體時,沒有足夠的記憶體空間供其使用,出現out of memory 比如申請了乙個integer,但給它存了long才能存下的數,那就是記憶體溢位。記憶體洩露 memory leak,是指程式在申請記憶體後,無法釋放已申請的記憶體空間,一次記...

記憶體洩露和記憶體溢位的區別

記憶體溢位 out of memory,是指程式在申請記憶體時,沒有足夠的記憶體空間供其使用,出現out of memory 系統只有存放integer的空間,但你卻申請了存放long,那就是記憶體溢位。記憶體洩露 memory leak,是指程式在申請記憶體後,無法釋放已申請的記憶體空間,一次記憶...

論記憶體洩露和記憶體溢位的區別

記憶體洩露和記憶體溢位的區別 記憶體洩露 記憶體洩漏就是對某一記憶體空間的使用,使用完成後沒有釋放或者沒有釋放完全。比如 我們定義的指標,未進行釋放,或者釋放的時候沒有使用delete,我建議在釋放的時候習慣使用delete,這樣能後避免由於疏忽而導致的記憶體洩漏。其實c 中我們可以通過智慧型指標的...