日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

野指针与内存泄漏那些事

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

野指針:不是NULL指針,是指向垃圾內存的指針

野指針成因:

1.指針變量沒有被初始化:指針變量在創建時同時應當被初始化,要么將指針設置為NULL,要么讓它指向合法的內存。

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

注意:不要返回指向棧內存的指針或引用,因為棧內存在函數結束時會被釋放。

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

?

內存泄漏4類
1.常發性內存泄漏:發生內存泄漏的代碼會被多次執行到,每次被執行的時候都會導致一塊內存泄漏

2.偶發性內存泄漏:特定環境發生

3.一次性內存泄漏:發生內存泄漏的代碼只會被執行一次,或者由于算法上的缺陷,導致總會有一塊僅且一塊內存發生泄漏。比如,在類的構造函數中分配內存,在析構函數中卻沒有釋放該內存

4.隱式內存泄漏:程序在運行過程中不停的分配內存,但是直到結束的時候才釋放內存。但對于一個服務器程序,需要運行時間長,不及時釋放內存也可能導致最終耗盡系統的所有內存。

?

內存泄漏表現:CPU資源耗盡;進程id耗盡;硬盤耗盡;內存泄漏或者內存耗盡

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

應用程序一般使用malloc,realloc,new等函數從椎中分配到一塊內存,使用完后,程序必須負責相應的調用free或delete釋放該內存模塊,否則,這塊內存就不能被再次使用

轉載于:https://www.cnblogs.com/tryFighting/p/9197481.html

總結

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

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。