[問題] 程式執行時記憶體需求持續上升

作者: cloudwalker (下一個挑戰)   2014-07-12 00:05:24
開發平台(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,還是不應該這麼做呢?
作者: scwg ( )   2014-07-12 00:11:00
用 valgrind 測測看找不找得到 memory leak 吧

Links booklink

Contact Us: admin [ a t ] ucptt.com