какие каталоги gcc по умолчанию включают в себя?

<p>когда я компилирую очень простой исходный файл с помощью gcc, мне не нужно указывать путь к стандартным включаемым файлам, таким как stdio или stdlib.</p><p>как gcc знает, как найти эти файлы?</p><p>внутри него есть путь <code>/usr/include</code>, или он будет получать пути от других компонентов ос?</p>

<p>чтобы выяснить пути по умолчанию, используемые <code>gcc</code>/<code>g++</code>, а также их приоритеты, необходимо проверить выходные данные следующих команд:</p><ol> <li>для <strong>c</strong>:</li> </ol><pre><code> gcc -xc -e -v - </code></pre><ol start="2"> <li>для <strong>c++</strong>:</li> </ol><pre><code> gcc -xc++ -e -v - </code></pre><p>кредит идет к <strong><em> команде qt creator </em></strong>.</p>

<p>есть команда с более коротким выводом, которая позволяет автоматически вырезать включаемые пути из строк, начиная с одного пробела:</p><pre><code>$ echo | gcc -wp,-v -x c++ - -fsyntax-only ignoring 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: /usr/lib/gcc/x86_64-redhat-linux/4.8.2/../../../../include/c++/4.8.2 /usr/lib/gcc/x86_64-redhat-linux/4.8.2/../../../../include/c++/4.8.2/x86_64-redhat-linux /usr/lib/gcc/x86_64-redhat-linux/4.8.2/../../../../include/c++/4.8.2/backward /usr/lib/gcc/x86_64-redhat-linux/4.8.2/include /usr/local/include /usr/include end of search list. кредит идет на libc ++ <a href="http://libcxx.llvm.org/">титульный лист .

вот статья, описывающая пути поиска gcc: <a href="http://www.network-theory.co.uk/docs/gccintro/gccintro_21.html">http://www.network-theory.co.uk/docs/gccintro/gccintro_21.html кроме того, вы можете указать дополнительные пути поиска с помощью переключателя -i. вы можете сделать это из командной строки или в вашем make-файле.

просто запустите следующее, чтобы получить список путей поиска по умолчанию:$ (gcc -print-prog-name = cc1) -v</p>