在 POSIX 中,为什么 open 系统调用在 fcntl.h 中声明,而 close 系统调用在 unistd.h 中声明?我认为这是一件历史文物,但这对让我觉得特别奇怪,因为你经常需要在打开后关闭。

最佳答案

如前所述,套接字和管道也被传递到关闭。但可能最初的原因是 open 需要 fcntl.h 中定义的 O_RDONLY 之类的标志,因此您不妨将原型(prototype)放在该文件中。

关于unix - 为什么 open 在 fcntl.h 中声明,而 close 在 unistd.h 中声明?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22359359/

10-12 23:14