• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            春暖花開
            雪化了,花開了,春天來了
            posts - 149,comments - 125,trackbacks - 0
             

            什么是內存泄露

            內存泄露是一種實現錯誤。它將會慢慢耗盡系統內存空間。當計算機運行進程的時候,可能需要或多或少的內存。這主要以來于進程每時每刻將要執行的命令。當進程需要更多的內存時,將給操作系統提出請求。當進程不再需要內存的時候,將會把內存釋放掉,還給操作系統。這樣其他進程才可以使用。如果進程沒有正確的將內存還給操作系統,盡管它不再使用,但是內存的狀態仍然是不可再分配。這將減少可用內存。

            一般我們常說的內存泄露是指堆內存的泄露。堆內存是指程序從堆中分配的,大小任意的(內存塊的大小可以在程序運行期決定),使用完后必須釋放的內存。應用程序一般使用mallocreallocnew等函數從堆中分配到一塊內存,使用完后,程序必須負責相應得調用freedelete釋放該內存塊,否則,這塊內存就不能再次被使用,我們就說這塊內存泄露了。

            對于一些界面的資源,如window的創建,menu的創建,dc的創建等等,對于這些,我們需要在不使用它們的時候,調用相應的函數,進行釋放。否則也將會造成內存泄露。

            內存泄露的后果

            內存泄露會因為減少可用內存的數量從而降低計算機的性能。最終,在最糟糕的情況下,過多的可用內存被分配掉導致全部或部分設備停止正常工作,或者應用程序崩潰。

            內存泄露可能不嚴重,甚至能夠被常規的手段檢測出來。在現代操作系統中,一個應用程序使用的常規內存在程序終止時被釋放。這表示一個短暫的應用程序中的內存泄露不會導致嚴重后果。

            在以下情況下,內存泄露導致較嚴重的后果:

                    一是程序運行后置之不理,并且隨著時間的流失消耗越來越多的內存(比如服務器上的后臺任務,尤其是嵌入式系統中的后臺任務,這些任務可能被運行后很多年內都置之不理);

                    二是新的內存被頻繁的分配,比如當現實電腦游戲或動畫視頻畫面時;

                    三是程序能夠請求未被釋放的內存(比如共享內存),甚至是程序終止的時候;

                    四是泄露在操作系統內部發生;

                    五是泄露在系統關鍵驅動中發生;

                    六是內存非常有限,比如在嵌入式系統或便攜設備中

                   七是當運行于一個終止時內存并不自動釋放的操作系統治上,而且一旦丟失,只能通過重啟來恢復。

            在這里,我著重強調一下嵌入式系統,由于系統內存非常有限,編寫應用程序的時候,一定要防止內存泄露的發生。如果發生,可能是會使你編寫的應用程序出現異常。或者你的系統的性能將會大大降低。甚至有時你不得不依靠重起系統來恢復。

            內存泄露的檢測
            檢測內存泄露的工具:debugnew
            http://dev.csdn.net/article/58/58407.shtm
            淺談內存泄漏(二)
            http://www.vczx.com/article/show.php?id=68

            一個跨平臺的 C++ 內存泄漏檢測器

            http://www-128.ibm.com/developerworks/cn/linux/l-mleak2/index.html
            內存泄露檢測
            http://www.shnenglu.com/Ipedo/archive/2005/10/27/867.aspx

            posted on 2008-11-02 10:50 Sandy 閱讀(375) 評論(0)  編輯 收藏 引用 所屬分類: windows學習
            日韩精品久久久肉伦网站| 国产精品亚洲美女久久久| 国产成人久久精品一区二区三区| 97精品国产97久久久久久免费| 国产精品9999久久久久| 久久久噜噜噜久久| 久久99热只有频精品8| 久久久久一级精品亚洲国产成人综合AV区 | 亚洲午夜久久久精品影院| 久久婷婷五月综合色99啪ak| AAA级久久久精品无码片| 久久久久久亚洲精品无码| 日产精品久久久一区二区| 久久久久亚洲?V成人无码| 久久精品国产亚洲av影院| 无码人妻久久一区二区三区蜜桃| 久久国产成人精品麻豆| 亚洲乱码精品久久久久.. | 香蕉久久夜色精品国产2020| 一级做a爰片久久毛片人呢| 无码人妻久久一区二区三区免费丨 | 精品国产91久久久久久久| 色88久久久久高潮综合影院| 国产免费久久精品99re丫y| 久久国产精品免费| 国产精品欧美久久久久天天影视 | 亚洲国产成人久久精品99| 精品久久人人妻人人做精品| 丁香久久婷婷国产午夜视频| 久久99热精品| 国产精品久久久久久久午夜片| 久久精品欧美日韩精品| 成人妇女免费播放久久久| 69久久夜色精品国产69| 久久香蕉国产线看观看99| 狠狠久久综合| 亚洲精品高清一二区久久| 亚洲午夜久久久久久久久电影网 | 亚洲国产精品久久久久久| 国产一区二区三精品久久久无广告 | 狠狠久久综合伊人不卡|