gpt4 book ai didi

c - #include 包含斜杠的语句(头文件由两部分组成)

转载 作者:太空狗 更新时间:2023-10-29 17:08:01 26 4
gpt4 key购买 nike

有时我会看到表单的头文件。

#include <sys/sysinfo.h> // I found this on my system under /usr/include/sys/sysinfo.h. Is that all the "sys/" means?                                                             

这叫什么,为什么这些头文件与大多数其他头文件不同,例如

#include <stdio.h>

也许一组相关的头文件被分组在“sys”的标签下,但如果我尝试类似“man pci”的东西(/usr/include/sys/中有一个 pci.h 头文件,则没有条目。

最佳答案

这是为头文件提供一些“命名空间结构”的便捷方式。在 Unix 世界中,主要的划分是在像 <stdio.h> 这样的 header 之间。它们通常相当通用,主要供用户程序使用,而不主要供操作系统内核使用。相比之下,像 <sys/sysinfo.h> 这样的标题或 <sys/types.h>旨在用于编译内核时使用 - 它们更系统化。

现在,它提供了一种将项目的 header 与另一个项目的 header 分开的方法。例如,<openssl/ssl.h>将 header 标识为属于 OpenSSL 代码库。

我不知道这种指定标题的样式有特定的名称。

请注意,如果 OpenSSL header 存储在目录 /usr/local/include/openssl 中, 然后你指定 -I /usr/local/include在编译器命令行上。实际发生的是,通过在尖括号中的名称前面加上许多标准目录之一来查找 header ,其中默认目录是 /usr/include。在 Unix 上。因此,<stdio.h>/usr/include/stdio.h 中找到和 <sys/sysinfo.h>/usr/include/sys/sysinfo.h 中找到等

关于c - #include 包含斜杠的语句(头文件由两部分组成),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2422774/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com