【发布时间】:2015-05-23 15:05:29
【问题描述】:
我将举一个来自The GNU C Library文档的例子:
13.1 打开和关闭文件
本节介绍打开和关闭文件的原语 使用文件描述符。 open 和 creat 函数声明在 头文件 fcntl.h,而 close 在 unistd.h 中声明。
我的问题是:
unistd.h 和 fcntl.h 可以被视为标准 C 吗?据我所知,它们应该是Posix standard 的一部分?
我们可以说 C 标准库 = Posix 函数 + C API 吗?我很困惑,因为 Wikipedia page for C Standard Library 不包括 unistd.h 但 GNU C 库文档包括它?
【问题讨论】:
-
C 标准也有一个关于 C 标准库的部分。查看 port70.net/~nsz/c/c11/n1570.pdf 了解 C11 标准。
-
不,
unistd.h和fcntl.h等不是标准 C 的一部分。 -
@YuHao 为什么将它们包含在 GNU C 库文档中?
-
C是一种编程语言,POSIX 是一种操作系统规范/API 标准——在维恩图中,您会看到一些 C 实现支持 POSIX,但并非全部支持——也不是需要这样做——GNU C Lib 是在实现两者的交集,然后是更多
标签: c linux posix standards language-lawyer