Structure de répertoire de gcc
Question
j'ai utilisé gcc
sous Linux depuis assez longtemps, mais je ne connais toujours pas ses composants internes.Tout d'abord, j'aimerais savoir d'où vient le glibc
réside.Deuxièmement, où sont les en-têtes.Je veux connaître la structure de base des répertoires de gcc
.
Pas de solution correcte
Autres conseils
Les fichiers d'en-tête sont dans /usr/include/
.Pour plus d'informations sur GCC
, vous voudrez peut-être parcourir gcc.gnu.org.Il contient de nombreuses informations sur GCC, ses composants internes et son fonctionnement.
Connaissez-vous le Norme de hiérarchie du système de fichiers?
Par exemple, sur 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))
vous pouvez trouver le glibc
objets partagés dans /usr/lib/gcc
et en /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 ...
Les inclusions sont situées dans /usr/include
:
>locate stdio.h /usr/include/stdio.h /usr/include/bits/stdio.h /usr/include/boost/iostreams/filter/stdio.hpp ...
Les fichiers sont presque dans les mêmes répertoires dans Linux version 2.6.38-13-generic (buildd@yellow) (gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) )
(architecture 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 ...
Vous pouvez trouver un bon site Web pour connaître la structure des répertoires de gcc ici : Arbre source
Et pour les headers, vous pouvez y aller : En-têtes GCC