https://stackoverflow.com/questions/17939930/finding-out-what-the-gcc-include-path-is 输出:
ignoring nonexistent directory "/usr/local/include/x86_64-linux-gnu"
ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/11/include-fixed"
ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/11/../../../../x86_64-linux-gnu/include"
#include "..." search starts here:
#include <...> search starts here:
/usr/lib/gcc/x86_64-linux-gnu/11/include
/usr/local/include
/usr/include/x86_64-linux-gnu
/usr/include
End of search list.
# 0 "<stdin>"
# 0 "<built-in>"
# 0 "<command-line>"
# 1 "/usr/include/stdc-predef.h" 1 3 4
# 0 "<command-line>" 2
# 1 "<stdin>"
当我学习时 c.我发现规范化路径/usr/lib/gcc/x86_64-linux-gnu/11/../../../../x86_64-linux-gnu/include
是:/usr/x86_64-linux-gnu/include
所以我想知道这个目录是什么:“/usr/lib/gcc/x86_64-linux-gnu/11/../../../../x86_64-linux-gnu/include”?
答案1
所以我想知道这个目录是什么
它不存在,所以什么也不是:) 说真的,不用担心这个,除非你正在为你自己的 GCC 版本修复安装脚本。这只是(可能无意中)添加到编译器查找头文件的目录列表中的路径。
正如输出所示,它的不存在并没有负面影响——它只是被忽略了。
至于该目录是否以某种方式遵循约定:我不知道。这就是为什么我认为它是无意中添加的,尽管我/usr/architecture/include
在 debianoid 和 redhatoid 发行版的 GCC 版本中都看到了这样的路径。所以,我认为这是 GCC 内置默认值的一部分。