2008-09-16 174 views
3

我使用fdopen将流与打开的文件相关联。fdopen()是否会导致内存泄漏?

当我文件,流是否也自动解除关联,并且所有流内存返回到操作系统,还是我需要知道fdopen'd文件并以特定方式关闭它?

- 亚当

回答

5

close()是一个系统调用。它将关闭内核中的文件描述符,但不会释放libc中的FILE指针和资源。您应该在FILE指针上使用fclose(),这也将负责关闭文件描述符。

-1

内核管理这些资源,你必须对他们比,当它想(不迟于终止进程),这可能释放内存的千钧一发其他无法控制的。

/艾伦

相关问题