我一直在使用 gcc 使用Linux很长时间了,但我仍然不知道它的内部原理。首先我想知道在哪里 glibc 居住。其次,标题在哪里。我想知道基本的目录结构 gcc.

没有正确的解决方案

其他提示

头文件位于 /usr/include/. 。欲了解更多信息 GCC, ,你可能想看一下 gcc.gnu.org. 。它包含大量有关 GCC、内部结构及其工作原理的信息。

你知道吗 文件系统层次结构标准?

例如,关于 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
...

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

关于标题,你可以去那里: 海湾合作委员会标头

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top