Comment sont-GCC et g++ bootstrap?
Cette a été mise sur écoute de moi pendant un moment. Comment puis-GCC et g++ compiler eux-mêmes?
Je devine que chaque révision sera compilé avec un bâti de révision. Est-ce vrai? Et si elle l'est, ça veut dire que la plus ancienne g++ et GCC versions ont été écrits dans l'assemblée?
- Chaque révision peut enfin être compilé par lui-même. 🙂
- Ceci c'est intéressant à lire si vous voulez voir comment les premiers compilateurs est venu à propos.
- Est le lien de la mort?
Vous devez vous connecter pour publier un commentaire.
L'ancienne version de GCC a été compilé à l'aide d'un autre compilateur C, car il y en a d'autres quand elle a été écrite. Le premier compilateur C jamais (ca. 1973, IIRC) a été mis en œuvre, soit dans PDP-11 de l'assemblée, ou dans le B langage de programmation qui l'a précédé, mais en tout cas, le B compilateur a été écrit dans l'assemblée.
de Même, le premier compilateur C++ (CPre/Cfront, 1979 à 1983) ont probablement été implémenté en C, puis réécrit en C++.Lors de la compilation de GCC ou de toute autre auto-hébergement compilateur, l'intégralité de la commande de bâtiment:
Ce processus est appelé l'amorçage. Il teste le compilateur de la capacité de la compilation elle-même et permet de s'assurer que le compilateur est construit avec toutes les optimisations qu'il a lui-même met en œuvre.
MODIFIER: Drew Dormann, dans les commentaires, points de Bjarne Stroustrup compte de la plus tôt la mise en œuvre de C++. Il a été implémenté en C++, mais traduit par ce que Stroustrup appelle une "préprocesseur" du C++ à C; pas un compilateur complet de par sa définition, mais encore C++ a été amorcé en C.
clang
t-il.__DATE__
et__TIME__
qui varient même entre les appels de la même compilateur) comme compilé avec GCC [GCC compilé avec les [autres]] - si non, que c'est un bug, et le 3-étape de bootstrap construire est conçu pour attraper ça.__TIME__
bien sûr, qui ne devrait pas d'importance)?