gcc的目录结构

时间:2012-03-14 19:49:40

标签: c linux gcc glibc

我在Linux上使用gcc很长时间了,但我仍然不知道它的内部结构。首先,我想知道glibc所在的位置。其次,标题在哪里。我想知道gcc的基本目录结构。

3 个答案:

答案 0 :(得分:2)

标头文件位于/usr/include/。有关GCC的详细信息,您可能需要查看gcc.gnu.org。它有很多关于GCC,内部以及它如何工作的信息。

答案 1 :(得分:2)

您知道Filesystem Hierarchy Standard吗?

例如,在Linux version 2.6.18-274.3.1.el5 (mockbuild@builder10.centos.org) (gcc version 4.1.2 20080704 (Red Hat 4.1.2-51))上,您可以在glibc/usr/lib/gcc中找到/lib个共享对象:

locate libgcc
/lib/libgcc_s-4.1.2-20080825.so.1
/lib/libgcc_s.so.1 // symbolic link to 
/usr/lib/gcc/i386-redhat-linux/3.4.6/libgcc.a
/usr/lib/gcc/i386-redhat-linux/3.4.6/libgcc_eh.a
/usr/lib/gcc/i386-redhat-linux/3.4.6/libgcc_s.so
/usr/lib/gcc/i386-redhat-linux/4.1.1/libgcc.a
/usr/lib/gcc/i386-redhat-linux/4.1.1/libgcc_eh.a
/usr/lib/gcc/i386-redhat-linux/4.1.1/libgcc_s.so
...

包含位于/usr/include

>locate stdio.h
/usr/include/stdio.h
/usr/include/bits/stdio.h
/usr/include/boost/iostreams/filter/stdio.hpp
...

这些文件几乎位于Linux version 2.6.38-13-generic (buildd@yellow) (gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) )(x86_64架构)中的相同目录中:

locate libgcc
/lib/x86_64-linux-gnu/libgcc_s.so.1
/usr/lib/libgccpp.so.1
/usr/lib/libgccpp.so.1.0.2
/usr/lib/ure/lib/libgcc3_uno.so
/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5/libgcc.a
/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5/libgcc_eh.a
/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5/libgcc_s.so
/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5/libgcc_s_32.so
/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5/32/libgcc.a
/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5/32/libgcc_eh.a
/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5/32/libgcc_s.so
/usr/lib32/libgcc_s.so.1
...
locate stdio.h
/usr/include/stdio.h
/usr/include/bits/stdio.h
/usr/include/c++/4.5/tr1/stdio.h
...

答案 2 :(得分:1)

你可以在这里找到一个很好的网站来了解gcc的目录结构:Source Tree

关于标题,你可以去那里:Headers GCC