日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

野指针与内存泄漏那些事

發(fā)布時間:2023/11/27 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 野指针与内存泄漏那些事 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

野指針:不是NULL指針,是指向垃圾內(nèi)存的指針

野指針成因:

1.指針變量沒有被初始化:指針變量在創(chuàng)建時同時應(yīng)當被初始化,要么將指針設(shè)置為NULL,要么讓它指向合法的內(nèi)存。

2.指針p被free或者delete,沒有被設(shè)置為NULL,讓人誤以為p是個合法的指針。

注意:不要返回指向棧內(nèi)存的指針或引用,因為棧內(nèi)存在函數(shù)結(jié)束時會被釋放。

內(nèi)存泄漏:申請了一塊內(nèi)存空間,使用完畢后沒有釋放掉,它的一般表現(xiàn)方式是程序運行時間越長,占用內(nèi)存越多,最終用盡全部內(nèi)存,整個系統(tǒng)奔潰。由程序申請的一塊內(nèi)存,且沒有任何一個指針指向它,那么這塊內(nèi)存就泄露了

?

內(nèi)存泄漏4類
1.常發(fā)性內(nèi)存泄漏:發(fā)生內(nèi)存泄漏的代碼會被多次執(zhí)行到,每次被執(zhí)行的時候都會導(dǎo)致一塊內(nèi)存泄漏

2.偶發(fā)性內(nèi)存泄漏:特定環(huán)境發(fā)生

3.一次性內(nèi)存泄漏:發(fā)生內(nèi)存泄漏的代碼只會被執(zhí)行一次,或者由于算法上的缺陷,導(dǎo)致總會有一塊僅且一塊內(nèi)存發(fā)生泄漏。比如,在類的構(gòu)造函數(shù)中分配內(nèi)存,在析構(gòu)函數(shù)中卻沒有釋放該內(nèi)存

4.隱式內(nèi)存泄漏:程序在運行過程中不停的分配內(nèi)存,但是直到結(jié)束的時候才釋放內(nèi)存。但對于一個服務(wù)器程序,需要運行時間長,不及時釋放內(nèi)存也可能導(dǎo)致最終耗盡系統(tǒng)的所有內(nèi)存。

?

內(nèi)存泄漏表現(xiàn):CPU資源耗盡;進程id耗盡;硬盤耗盡;內(nèi)存泄漏或者內(nèi)存耗盡

椎內(nèi)存是指程序從椎中分配的,大小任意的,使用完后必須釋放的內(nèi)存

應(yīng)用程序一般使用malloc,realloc,new等函數(shù)從椎中分配到一塊內(nèi)存,使用完后,程序必須負責相應(yīng)的調(diào)用free或delete釋放該內(nèi)存模塊,否則,這塊內(nèi)存就不能被再次使用

轉(zhuǎn)載于:https://www.cnblogs.com/tryFighting/p/9197481.html

總結(jié)

以上是生活随笔為你收集整理的野指针与内存泄漏那些事的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。