【问题标题】:Where do the bits/X (e.g bits/errno.h) header files come from?bits/X(例如 bits/errno.h)头文件来自哪里?
【发布时间】: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


【解决方案1】:

它们很可能是 libc(x)-dev 的一部分(命名将取决于您选择的发行版)...

debian/ubuntu 系列可以试试

dpk -S /path/to/bits/errno.h

对于 RHEL/Centos 系列,您可以尝试

rpm -qf /path/to/bits/errno.h

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-11-04
    • 2014-04-22
    • 2021-04-23
    • 1970-01-01
    • 2018-03-30
    • 2012-03-01
    • 2015-10-09
    • 1970-01-01
    相关资源
    最近更新 更多