退出程序时,这些FILE*
对象如何关闭并释放?stdin,stdout,stderr如何关闭?
0
A
回答
4
从C99§7.20.4.3/ 3:
接着,未写入缓冲数据的所有开放流FL ushed,所有 打开的流被关闭,以及由TMPFILE功能 是创建的所有网络连接LES除去。
POSIX(与C99对齐)拼出来更好:
的exit()函数应冲洗,然后用不成文的 缓冲数据的所有打开的流,并关闭所有打开的流。
5
它们被自动链接到程序的C运行时代码关闭 - 调用main()函数的代码也在main()返回后调用exit()。
相关问题
- 1. LLVM stdin/stdout/stderr
- 2. 关于STDIN STDOUT STDERR的问题
- 3. 在linux中如何实现stdin,stdout,stderr?
- 4. 的Perl:让open3继承STDIN,STDOUT,STDERR
- 5. stdin,stdout和stderr在?之间共享?
- 6. 只允许应用stdin,stdout和stderr
- 7. 使用unix socket进行subprocess stdin,stdout,stderr
- 8. 是stdin,stdout和stderr文件吗?
- 9. 如何在python中关闭stdout/stderr窗口?
- 10. 将stdin和stdout重定向到stdin首先关闭的位置
- 11. 如何控制popen stdin,stdout,stderr重定向?
- 12. 如何正确启动进程并转发stdin/stdout/stderr?
- 13. 如何在不等待stderr/stdout关闭的情况下使用Python调用命令,捕获stderr和stdout?
- 14. 如何将stderr管入stdin?
- 15. 如何测试stdin和stdout?
- 16. tomcat logging stdout stderr
- 17. 关闭stdout和stderr(1>& - 2>& - )修改退出状态?
- 18. 每个进程都有自己的stdin,stdout和stderr吗?
- 19. 流浪汉up失败,stdin,start,ssh,stderr和stdout错误
- 20. 为什么要将stdin,stdout和stderr转换为单个fd?
- 21. Powershell - 输入stdin之后输入stdout/stderr不再有效
- 22. perl使用open3写入STDIN并捕获STDOUT和STDERR
- 23. stdin,stdout,stderr在Lua中是缓冲还是非缓冲?
- 24. Stdin和Stdout
- 25. Python Threading stdin/stdout
- 26. 如何在没有`disown`或gdb的情况下关闭进程的stdout和stderr?
- 27. 如何将stdout/stderr传递给Turtle中另一个命令的stdin?
- 28. Scons日志stdout/stderr
- 29. Apache Spark Stderr和Stdout
- 30. stderr和stdout的ssh?
这是否意味着它关闭了用户可能打开的任何其他流?它是如何知道它们的? –
@Paul它知道是因为'stdio'自己记账。 'fopen'不仅仅是把'FILE *'返回给你。 – cnicutar