猿问

GCC的默认包含目录是什么?

当我用gcc编译非常简单的源文件时,我不必指定标准包含文件(例如stdio或stdlib)的路径。

GCC如何知道如何找到这些文件?

/usr/include内部是否具有硬连线的路径,还是会从其他OS组件获取路径?


开满天机
浏览 1338回答 3
3回答

心有法竹

为了弄清楚gcc/ 所使用的默认路径g++及其优先级,您需要检查以下命令的输出:对于C:    gcc -xc -E -v -对于C ++:    gcc -xc++ -E -v -这归功于Qt Creator团队。

至尊宝的传说

有一个输出较短的命令,它允许从行开始以一个空格开始自动剪切包含路径:$ echo | gcc -Wp,-v -x c++ - -fsyntax-onlyignoring nonexistent directory "/usr/lib/gcc/x86_64-redhat-linux/4.8.2/include-fixed"ignoring nonexistent directory "/usr/lib/gcc/x86_64-redhat-linux/4.8.2/../../../../x86_64-redhat-linux/include"#include "..." search starts here:#include <...> search starts here:&nbsp;/usr/lib/gcc/x86_64-redhat-linux/4.8.2/../../../../include/c++/4.8.2&nbsp;/usr/lib/gcc/x86_64-redhat-linux/4.8.2/../../../../include/c++/4.8.2/x86_64-redhat-linux&nbsp;/usr/lib/gcc/x86_64-redhat-linux/4.8.2/../../../../include/c++/4.8.2/backward&nbsp;/usr/lib/gcc/x86_64-redhat-linux/4.8.2/include&nbsp;/usr/local/include&nbsp;/usr/includeEnd of search list.功劳归于libc ++ 主页。
随时随地看视频慕课网APP
我要回答