使用 gcc.7.2 编译器时,stdio.h 文件位于 Linux 中的哪里?

0 linux gcc location stdio include-path

我找不到该stdio.h文件。我正在使用 Linux Mint 18.2 XFCE 和 gcc-7.2 编译器。

这是输出find . -type f -name stdio.h

smit@smit-Aspire-5742:/usr/lib/gcc$ find . -type f -name stdio.h
./i686-w64-mingw32/5.3-win32/include/ssp/stdio.h
./i686-w64-mingw32/5.3-win32/include/c++/tr1/stdio.h
./i686-w64-mingw32/5.3-posix/include/ssp/stdio.h
./i686-w64-mingw32/5.3-posix/include/c++/tr1/stdio.h
./x86_64-w64-mingw32/5.3-win32/include/ssp/stdio.h
./x86_64-w64-mingw32/5.3-win32/include/c++/tr1/stdio.h
./x86_64-w64-mingw32/5.3-posix/include/ssp/stdio.h
./x86_64-w64-mingw32/5.3-posix/include/c++/tr1/stdio.h
Run Code Online (Sandbox Code Playgroud)

我不需要 mingw 文件。这是一个我很少使用的交叉编译器。我找不到 gcc-7.2 的stdio.h文件。我是否在错误的目录中查找?

IDo*_*ame 5

您正在寻找错误的位置。stdio.h不位于/usr/lib/gcc但位于/usr/include

<>基本上是C/C++ 中/usr/include(或您在编译器标志后指定的任何目录)的快捷方式。-I所以

#include <myheader.h>
Run Code Online (Sandbox Code Playgroud)

将包括/usr/include/myheader.h

#include <file/otherheader.h> 
Run Code Online (Sandbox Code Playgroud)

将包括/usr/include/file/otherheader.h 这意味着,因为您通常stdio.h包括

#include <stdio.h>
Run Code Online (Sandbox Code Playgroud)

位置将是/usr/include/stdio.h