7 votes

Qu'est-ce qu'une chaîne d'outils GCC ?

De quelles manières peut-il être un exemple de compilateur C/assemblage/objet/exécutable ?

J'aimerais avoir plus d'informations que les quelques unes que Wikipedia donne à son sujet. De même, si vous pouvez m'indiquer des sources où je pourrais trouver plus d'informations à ce sujet, ce serait formidable.

11voto

Acorn Points 6838

Desde Wiktionnaire une chaîne d'outils est :

Un ensemble d'outils pour le développement de logiciels, souvent utilisés en séquence de sorte que la sortie d'un outil comprend l'entrée du suivant.

GCC est la collection de compilateurs GNU, c'est-à-dire un ensemble de compilateurs pour différents langages de GNU. Depuis le page web officielle :

La collection de compilateurs GNU comprend des frontaux pour C, C++, Objective-C, Fortran, Ada et Go, ainsi que des bibliothèques pour ces langages (libstdc++,...).

Par conséquent, la chaîne d'outils GCC est un ensemble d'applications et de bibliothèques permettant de compiler des programmes écrits en plusieurs langues. Par exemple, pour les langages C et C++, cela inclut des outils comme :

  • cpp Préprocesseur
  • gcc Compilateur C
  • g++ Compilateur C++
  • gcov Programme de couverture des tests

Et des bibliothèques d'accompagnement comme :

  • libbacktrace Producteur de backtraces symboliques
  • libquadmath Bibliothèque de mathématiques en quadruple précision
  • libstdc++-v3 Bibliothèque standard C++

Maintenant, quand quelqu'un se réfère à la chaîne d'outils GCC, typiquement il se réfère aussi implicitement à d'autres utilitaires qui peuvent ne pas provenir du projet/référentiel de GCC mais qui sont généralement nécessaires pour le développement. Par exemple, des outils comme :

  • ar Programme de manipulation des archives
  • as Assembleur
  • c++filt Démêleur C++
  • ld Linker
  • nm Liste des symboles du fichier d'objets
  • objdump Extracteur d'informations sur les fichiers d'objets

Si vous utilisez l'implémentation de ces outils par GNU, alors vous utilisez le module GNU Binutils projet :

Les GNU Binutils sont une collection d'outils binaires.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X