gcc.7.2编译器Linux中的位置stdio.h文件在哪里?

Posted

技术标签:

【中文标题】gcc.7.2编译器Linux中的位置stdio.h文件在哪里?【英文标题】:Where is Location stdio.h file in Linux of gcc.7.2 compiler? 【发布时间】:2018-02-13 01:20:55 【问题描述】:

我找不到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

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

【问题讨论】:

使用locate 查找文件... @MarcGlisse 意思是??? 有一个叫g**gle的东西,如果你在里面输入locate+linux,它会提供很多信息。 【参考方案1】:

您正在寻找错误的位置。 stdio.h 不在/usr/lib/gcc 中,而是在/usr/include

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

#include <myheader.h>

将包括/usr/include/myheader.h

#include <file/otherheader.h> 

将包括/usr/include/file/otherheader.h 这意味着由于您通常将stdio.h 包含在

#include <stdio.h>

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

【讨论】:

【参考方案2】:

默认情况下,gcc 在不同的目录中查找:

 /usr/local/include
 libdir/gcc/target/version/include
 /usr/target/include
 /usr/include

你可以看看the documentation。

【讨论】:

【参考方案3】:

这是一个 .h 文件,它是一个标头,因此, /usr/include/stdio.h ?

【讨论】:

@SMIT PATIL:抱歉,打错字

以上是关于gcc.7.2编译器Linux中的位置stdio.h文件在哪里?的主要内容,如果未能解决你的问题,请参考以下文章

Gcc 7.2 c++17 constexpr

非阻塞获取字符

为啥使用 Visual Studio 而不是 GCC 编译时没有错误?

fl 与 gcc 7.2 一起崩溃

Qt 4.8.4 mingw (gcc 4.7) 可以编译但不能运行

gcc 7.2(Ubuntu)中缺少头文件<execution>:如何解决?