Luk*_*kov 6 c standard history
与这个关于linux 命令的词源的问题类似,我很好奇 的名称的起源unistd.h
。
有谁确切unistd.h
知道代表什么?如果unistd.h
应该读作“Unix 标准头”,为什么不命名它呢unixstd.h
?
来自Open Group 的描述unistd.h
(强调我的):
unistd.h -标准符号常量和类型
来自维基百科(强调我的):
在 C 和 C++ 编程语言中,unistd.h 是提供对 POSIX 操作系统 API 访问的头文件的名称。它由 POSIX.1 标准(单一Unix 规范的基础)定义,因此应可在任何兼容 POSIX 的操作系统和编译器中使用。
将两个和两个放在一起,看起来很可能是Unix (uni) 和标准unistd.h
(std)的组合,从而产生了“Unix 标准标头”。Barath Ravikumar和Vicky Chijwani在另一个不相关的 Stack Overflow 问题的答案中提出了这一点:
<unistd.h>
,代表unix标准头,名字说明了一切。
unistd
也可以代表“通用标准标头”(我意识到这听起来有点荒谬)。关键是,他们应该给它命名unixstd.h
——只需添加一个字符即可立即清晰。
如果这是真的,那么单个字符的遗漏可能x
会引发更多有关 C 标准库的问题以及为什么unistd.h
它不属于其中(示例 1、示例 2、示例 3)。