84 votes

Le compilateur gcc C est-il écrit en C lui-même?

Le compilateur gcc C est-il écrit en C lui-même? Ou est-ce écrit en Assemblée? Si le compilateur est écrit en C, quel est le compilateur utilisé pour compiler le code du compilateur?

94voto

Rob Napier Points 92148

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 démarré.

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 bootstrap pour faire quelque chose d'incroyable, génial et terrifiant.

51voto

Daniel A. White Points 91889

À l'origine, il était écrit dans un langage d'assemblage, puis il commençait à se nourrir lui-même.

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