2012-12-08 32 views
4

我可是從Valgrind的得到這個結果更allocs:Valgrind的結果乾淨,但比的FreeS

==24810== HEAP SUMMARY: 
    ==24810==  in use at exit: 0 bytes in 0 blocks 
    ==24810== total heap usage: 9 allocs, 6 frees, 0 bytes allocated 
    ==24810== 
    ==24810== LEAK SUMMARY: 
    ==24810== definitely lost: 0 bytes in 0 blocks 
    ==24810== indirectly lost: 0 bytes in 0 blocks 
    ==24810==  possibly lost: 0 bytes in 0 blocks 
    ==24810== still reachable: 0 bytes in 0 blocks 
    ==24810==   suppressed: 0 bytes in 0 blocks 

它說沒有內存被泄露。它看起來是一個很好的結果。但是,這些9分配,6釋放?看起來我並沒有在某處釋放一些內存。我檢查了代碼,並且有3個全局常量指針。也許他們不被認爲是錯誤,但打印爲不free'd?

我應該擔心這個還是應該考慮代碼buggless? 謝謝大家。 ....只是想了解所有與指針和內存分配ANSI C麻煩:)))

格言

+1

它說,總堆使用量是'0字節分配',他們可以是空分配?你可以發佈一些代碼嗎? – imreal

+0

valgrind計算'realloc's? –

+0

@DanielFischer它的確如此。 –

回答

0

在Valgrind的網站http://valgrind.org/docs/manual/quick-start.html#quick-start.interpret

「肯定丟失」:你的程序是泄漏內存 - 修復它! 「你可能會丟失」:你的程序正在泄漏內存,除非你正在使用指針(例如將它們移動到指向堆塊中間 )的指針。

所以對於你的情況你的程序應該是好的。