• <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://m.shnenglu.com/Ipedo/archive/2005/10/27/867.aspx

            posted on 2008-11-02 10:50 Sandy 閱讀(377) 評論(0)  編輯 收藏 引用 所屬分類: windows學習
            一本大道加勒比久久综合| 无码国内精品久久人妻| 青青热久久国产久精品 | 亚洲午夜精品久久久久久app| 久久久午夜精品| 久久亚洲精品中文字幕三区| 免费一级欧美大片久久网| 亚洲午夜久久久久妓女影院 | 人妻无码久久一区二区三区免费| 国产美女久久久| 2021国内精品久久久久久影院| 久久精品国产一区二区三区日韩| 色狠狠久久综合网| 91精品国产91久久久久久蜜臀| 久久无码AV一区二区三区| 国产99久久久久久免费看| 国产精品美女久久久m| 伊人久久大香线蕉AV色婷婷色| 久久国产乱子伦精品免费午夜| 久久精品aⅴ无码中文字字幕不卡 久久精品aⅴ无码中文字字幕重口 | 亚洲国产精品久久| 久久精品国产亚洲av麻豆色欲| 国产精品久久久久久五月尺| 国产免费久久精品丫丫| 久久96国产精品久久久| 久久久久久久久久久久中文字幕 | 久久久久高潮毛片免费全部播放 | 亚洲国产天堂久久综合网站| 无码人妻久久一区二区三区| 狠狠精品久久久无码中文字幕| 区亚洲欧美一级久久精品亚洲精品成人网久久久久| 久久91亚洲人成电影网站| 99久久婷婷免费国产综合精品| 久久亚洲私人国产精品| 国产成人久久精品一区二区三区| 亚洲综合日韩久久成人AV| 亚洲午夜久久久久久久久电影网 | 久久综合九色综合欧美就去吻| 久久97久久97精品免视看 | 色综合久久中文字幕无码| 7777久久久国产精品消防器材 |