2012-03-14 169 views
0

我一直在Linux上使用gcc很長時間,但我仍然不知道它的內部。首先,我想知道glibc位於何處。其次,標題在哪裏。我想知道gcc的基本目錄結構。gcc的目錄結構

回答

2

頭文件是/usr/include/。有關GCC的更多信息,您可能需要查看gcc.gnu.org。它有很多GCC,內部信息以及它的工作原理。

2

您是否知道Filesystem Hierarchy Standard

例如,在Linux version 2.6.18-274.3.1.el5 ([email protected]) (gcc version 4.1.2 20080704 (Red Hat 4.1.2-51))您可以在/usr/lib/gcc/lib找到glibc共享對象:

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 ([email protected]) (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 
...