为什么在fcntl.h中声明open,而在unistd.h中声明close?

时间:2014-03-12 17:29:19

标签: unix posix

在POSIX中,为什么在fcntl.h中声明了开放系统调用,而在unistd.h中声明了close系统调用?我认为这是一件历史性的神器,但这对对我来说特别奇怪,因为你经常需要在打开后关闭。

1 个答案:

答案 0 :(得分:2)

如前所述,套接字和管道也会传递到关闭状态。但可能最初的原因是open需要在fcntl.h中定义的O_RDONLY标志,所以你也可以把原型放在那个文件中。