-4
我的代碼看起來像:當存儲器被動態分配Valgrind的報告內存泄漏雖然沒有一個並[c]
void kernel_version(char * kernel_str)
{
FILE * fp = fopen(log, "a");
FILE * pipe = popen("uname -r", "r");
if(fp && pipe)
{
//
}
pclose(pipe);
pclose(fp);
}
泄漏通常發生。但是,我並沒有動態地在我的代碼中的任何地方分配內存。 我無法指出泄漏。
調用在KERNEL_VERSION FP函數,pclose似乎值得懷疑... –
@JonathanvonSchroeder是的,我指出來了。我相信那是事情出錯的地方。 –
[Valgrind](http://www.valgrind.org/)在哪裏說泄漏是?你爲什麼不向我們展示其產出 - 或輸出的相關分部?當你被告知時,讓我們猜測是徒勞的。只是因爲你寫的代碼並不使用動態內存分配,並不意味着你調用的函數(你沒有寫的)沒有做動態內存分配。許多功能都可以動態分配內存。文件流操作通常會執行動態內存分配。 –