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

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top