Est gcc compilateur C écrit en C en elle-même?
Est gcc compilateur C écrit en C en elle-même ? Ou est-il écrit dans l'Assemblée ? Si le compilateur est écrit en C, alors qu'est-ce que le compilateur utilisé pour compiler le compilateur de code ?
- Oui, il est (pour la plupart). Bien sûr, on a besoin d'un compilateur C pour compiler C donc, comme avec la plupart des compilateurs, il y a une série de "boot-strap" phases. L'idée générale est couvert dans le l'Installation de GCC: la Construction et l'Installation de GCC - LFS.
- c'est la prochaine étape.
- Marque différents postes de travail dans les années 1980 et au début des années 90 avaient leurs propres environnements unix avec c compilateur, des outils, etc... qui sont tous un peu différents les uns des autres. Avec la source de GCC que vous pourriez faire une première compilation de gcc sur l'une de ces plates-formes, et ensuite compiler gcc avec lui-même quelques temps plus ou moins vérifier un point fixe.
Vous devez vous connecter pour publier un commentaire.
De l'histoire spécifique de gcc est donnée à la GCC Wiki. La plus générale est que les compilateurs sont généralement à l'origine compilé avec un autre compilateur jusqu'à ce qu'ils sont assez puissants pour compiler eux-mêmes. Alternativement, il est possible d'écrire un compilateur basic qui permet de traiter un sous-ensemble de vos fonctions en assembleur, et de construire à partir de là. Mais encore une fois, ce n'est presque jamais nécessaire. Il y a beaucoup de compilateurs disponibles dans une variété de langues. Même lorsque Stephen Johnson a été écrit pcc (l'un des premiers compilateurs C), il y avait des compilateurs pour B disponibles, ainsi que de nombreuses autres langues. gcc a plusieurs compilateurs pour choisir de construire à l'origine, et RMS, dit-il été à l'aide du compilateur Pastel au moins au cours de son développement initial.
Rappelez-vous, il n'est pas nécessaire qu'un compilateur C être écrit en C. Vous pouvez l'écrire en Perl, si vous vouliez. Il n'est pas nécessaire qu'un compilateur pour une plate-forme donnée d'être à l'origine écrit sur cette plate-forme (systèmes embarqués presque toujours sont compilés sur un autre système). Donc, il y a de nombreuses façons de le faire vous-même amorcé.
Cette question a fait d'intéressantes subtilités liées à la première instance pour lancer le compilateur. Si vous avez été très intelligent, vous pourriez faire usage de cette amorce ne quelque chose d'incroyable, génial et terrifiant.
À l'origine, il a été écrit dans certains assemblée de langue puis il a commencé à chien, de la nourriture elle-même.
Alors que c'est évidemment un indicateur très approximatif, j'ai trouvé ce rapide liste sur le
gcc-5.1.0-src/gcc/
répertoire intéressant. Ce répertoirecontient les principales sources de GCC lui-même (sauf pour les bibliothèques d'exécution).
Voici les fichier supérieur-nombre de (plus de 100) regroupés par extension dominé par les fichiers C et C++.
Veuillez noter que de nos jours
GCC
fait référence à la Collection de compilateurs GNU, et pas seulement le Compilateur C de GNU.Référence: https://gcc.gnu.org/onlinedocs/gccint/gcc-Directory.html