2
내 응용 프로그램은 메모리를 늘리지 만 누출되지는 않습니다. 분석 중에 나는 할당 된 메모리의 대부분이 getc
과 fprintf
의 호출인데 누가 malloc
(16kb)를 호출했는지 발견했습니다. 나는 그 함수들이 힙에 메모리를 할당한다는 것을 몰랐다. 특히 fprintf
? 어떻게 무료로 할 수 있습니까?OS X에서 getc 및 fprintf에 의해 16KB가 할당되었습니다.
그들은 매 통화마다 또는 한 번만 할당합니까? 후자의 경우, 아마 그것은 자신들의 의무 수행을 위해 사용하는 버퍼 일뿐입니다. 걱정하지 마십시오. 16 KB는 "일반"PC에서 * 아무것도 * 아닙니다. –
그들은 여러 번 호출되지만 valgrind의 호출 그래프를 보면 getc와 fprintf와 관련된 함수를 호출 할 때마다 16KB가 1 블록에 할당됩니다 ... (16kb * 많은 호출) == 많이 메모리의. 그것이 버퍼라면, 어떻게 풀 수 있습니까? – Ynv
정말로, _most_ 메모리는'getc'와'fprintf'에서 온 것입니까? – sarnold