• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    實用小代碼之內存泄漏檢測

    發布: 2008-2-13 10:19 | 作者: 網絡轉載 | 來源: 網絡轉載 | 查看: 146次 | 進入軟件測試論壇討論

    領測軟件測試網  相信很多人在用C語言編寫程序時,常常會用到動態內存分配的函數。而使用這樣的函數,往往會一不留神就造成內存泄漏。雖然說世面上有很難多檢查內存泄漏的工具,功能也很強大。不過我平時用的簡單檢測方式是使用我這里介紹的這三個函數。相對來說,還是比較不錯的,也是一種解決內存泄漏問題的方法之一吧。

    int *_mem_check(void){
      
    static int c=0;
      
    return(&c);
    }

    void *_malloc(int s){
      
    int *c=_mem_check();
      
    void *p=malloc(s);
      
    if(p){
        (
    *c)++;
      }

      
    return(p);
    }

    void _free(void *p){
      
    int *c=_mem_check();
      free(p);
      
    if(p){
        (
    *c)--;
      }

      
    return;
    }

    Linux)" name=GENERATOR>

        代碼很簡單,基本上不用做太多的解釋。只要在程序退出之前查看一下計數器的計數是否為0就可以了。如果是0的話,那很好,你所寫的代碼沒有內存泄漏。如果不為0的話,這個計數器的數,就是記錄了你有多少個內存分配沒有在程序退出前回收。

    下面是事例代碼:

    int fun(void){
        
    void *p=NULL;
        
    int *c=_mem_check();
        p
    =_malloc(1024);
        _free(p);
        printf(
    "%d ",*c);
        
    return(0);
    }


    文外音:
        說實話,我的Blog很久沒有更新了。說來也慚愧,這一階段真的很忙。原本的生活也被打亂了。上面這些東西,都是我平時寫程序的時候常會用到的一些代碼。覺得蠻實用的就貼出來和大家分享一下。 
        不過話說回來,近階段發生的事情還真不少。前些日子我一同學買東西,被黑心老板找了張假的20元,因為當時天冷急著回去。所以沒仔細看就收進了。事后我們和他理論,那黑心老板居然還一臉壞笑地大聲說:“哦,這是張假幣啊。是假幣哦。這張假幣不是我們這里出來的!蹦潜砬槲疫@一輩子也忘不了,意思就是說:我就是要把假幣混給你,你能拿我怎么辦。當時很氣憤,想報警的,因為使用假幣也是屬于違法行為。但是后來想想為了20元也犯不著。其實到也不是說20元的損失有多大,只是實在是對他們那種態度和素質感到令人作嘔。

    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/

    TAG: 內存泄漏


    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備10010545號-5
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>