看板 C_and_CPP 關於我們 聯絡資訊
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) GCC 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) 問題(Question): 小弟撰寫一個分析程式 (目前總程式碼約8000行), 由於分析過程中會產生大量暫時資料, 且這些資料必須等到他產生完並以統計模型分析後才可刪除, 每次產生的資料量大小不定,因此使用link list結構, 小弟確定每次calloc()之後都有撰寫對應的free(), 但隨著迴圈數增加,系統可用記憶體量隨時間持續減少, 最後將所有記憶體吃光, 不知是哪邊有理解錯誤呢? 還請各位高手幫忙。 餵入的資料(Input): 預期的正確結果(Expected Output): 錯誤結果(Wrong Output): 程式碼(Code):(請善用置底文網頁, 記得排版) 補充說明(Supplement): 當中有用到一些多層指標(如:a->b->c),小弟是從最內層往外把指標free() 亦即先free b再free a,還是不應該這麼做呢? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.162.53.209 ※ 文章網址: http://www.ptt.cc/bbs/C_and_CPP/M.1405094727.A.56F.html
scwg:用 valgrind 測測看找不找得到 memory leak 吧 07/12 00:11