2012-12-08 3 views
4

임보다 더 allocs와 함께 : 더 메모리가 유출되지 않았다 말한다Valgrind의 결과 깨끗하지만 해방 Valgrind의에서이 결과를 얻는

==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 allocs, 6 frees? 나는 어딘가에 약간의 기억을 free'd하지 않은 것처럼 보인다. 나는 코드를 검사했고, 3 개의 전역 const 포인터가있다. 어쩌면 그들은 실수로 간주되지 않았지만 free'd가 아닌 것으로 인쇄 되었습니까?

나는 이것에 대해 걱정해야합니까? 아니면 코드 버그를 고려해야합니까? 감사합니다. 는 .... 그냥 포인터와 메모리 할당과 모든 ANSI C 형 번거 로움을 이해하려고 노력 :))) Valgrind의 웹 사이트에서

격언

+1

총 힙 사용량이 '0 바이트 할당 됨'이라고 말하면 빈 할당이 가능합니까? 코드를 게시 할 수 있습니까? – imreal

+0

valgrind가 'realloc'입니까? –

+0

@ 대니얼 피셔 그렇습니다. –

답변

0

http://valgrind.org/docs/manual/quick-start.html#quick-start.interpret

는 "확실히 손실"프로그램입니다 메모리 누수 - 고쳐라!

"lost lost": 포인터가있는 재미있는 일 (예 : 힙 블록 을 가리 키도록 이동하는 등)을 수행하지 않는 한 프로그램에 메모리가 누출됩니다.

귀하의 경우 프로그램이 좋을 것입니다.