我正在研究pset4- speller -hashtable。在这里,我展示了valgrind产生的一部分。因此,不会释放一个内存块。我在malloc()和freed()上都运行了一个计数器,但结果是相同的,即字典-143091中的单词数。
但是valgrind在HEAP摘要中显示我已分配143097次。但是堆不是用来动态分配内存的吗,我认为我只是在使用malloc()做的。我声明的其他指针可能在堆栈上。这是怎么回事?
WORDS MISSPELLED: 955
WORDS IN DICTIONARY: 143091
WORDS IN TEXT: 17756
TIME IN load: 2.41
TIME IN check: 0.88
TIME IN size: 0.03
TIME IN unload: 0.19
TIME IN TOTAL: 3.50
==19623==
==19623== HEAP SUMMARY:
==19623== in use at exit: 32 bytes in 1 blocks
==19623== total heap usage: 143,097 allocs, 143,096 frees, 8,023,448 bytes allocated
==19623==
==19623== LEAK SUMMARY:
==19623== definitely lost: 0 bytes in 0 blocks
==19623== indirectly lost: 0 bytes in 0 blocks
==19623== possibly lost: 0 bytes in 0 blocks
==19623== still reachable: 32 bytes in 1 blocks
==19623== suppressed: 0 bytes in 0 blocks