Eva*_*oll 8 c standard file-descriptors posix
POSIX 是否要求stdin
0、1stdout
和stderr
2 或者这只是一个约定?其他系统是否与该约定不同,或者这是一个安全的假设?
Eva*_*oll 14
似乎它们在 POSIX 规范中是标准化的,
标头应为文件流定义以下符号常量:
STDERR_FILENO
标准错误文件号;2.STDIN_FILENO
标准输入的文件号;0.STDOUT_FILENO
标准输出的文件号;1.
但还有关于“ stderr
, stdin
, stdout
- 标准 I/O 流”状态的POSIX 文档,
本 POSIX.1-2017 卷遵循 ISO C 标准。
三个预定义的流 stdin、stdout 和 stderr 在程序启动时是无方向的。
这似乎ISO C是这个使内核分配为所欲为被称为描述符相对静音STDOUT
,STDERR
和STDIN
。但是 POSIX 文档unistd.h
明确说明了他们应该在那个级别解决什么问题。