【发布时间】:2020-09-14 23:51:13
【问题描述】:
我注意到在我的 /usr/include 目录下,有一个名为“bits”的文件夹,里面有一堆头文件。其中一些文件是“bits/errno.h”或“bits/in.h”。
这些文件来自哪里?它们看起来不像是 libc 的一部分。例如,musl 不附带它们:https://github.com/cloudius-systems/musl/tree/master/include,但是,我确实注意到 musl 确实依赖于它们。
【问题讨论】:
-
不完全是重复的,但this 可能会有所帮助。
-
它们由编译器和/或库提供。它们旨在提供一个或多个其他标头可能需要的信息位。它们可能因不同类型的系统而异。它们限制了主要标头的特定于平台的更改。它们不应该被程序直接使用——程序应该包括
"header.h"或"sys/header.h"(或使用尖括号符号<sys/header.h>)。预处理器选择正确的bits/*.h文件。
标签: c linux unix header-files