1 Языки программирования, поддерживаемые GCC
GCC означает «GNU Compiler Collection». GCC представляет собой интегрированное распределение компиляторов для нескольких основных языков программирования. В настоящее время эти языки включают C, C++, Objective-C, Objective-C++, Fortran, Ada, D, Go и BRIG (HSAIL).
Аббревиатура GCC имеет несколько значений в общем использовании. Нынешнее официальное значение — «GNU Compiler Collection», которое обозначает весь набор инструментов. Исторически имя означало «GNU C Compiler», и это использование все еще распространено, когда акцент делается на компиляции программ на языке C. Наконец, это имя также используется при упоминании независимого от языка компонента GCC: кода, общего для компиляторов всех поддерживаемых языков.
Компонент GCC, независимый от языка, включает в себя большинство оптимизаторов, а также «задние концы», которые генерируют машинный код для различных процессоров.
Часть компилятора, специфичная для конкретного языка, называется «передним концом». Помимо передних концов, которые являются интегрированными компонентами GCC, существует несколько других передних концов, которые поддерживаются отдельно. Они поддерживают такие языки, как Mercury и COBOL. Для их использования их необходимо построить вместе с самим GCC.
Большинство компиляторов для языков, отличных от C, имеют свои собственные имена. Компилятор C++ — это G++, компилятор Ada — GNAT и так далее. Когда мы говорим о компиляции одного из этих языков, мы можем ссылаться на этот компилятор по его собственному имени или как на GCC. В обоих случаях правильно.
Исторически компиляторы для многих языков, включая C++ и Fortran, реализовывались как «препроцессоры», которые генерируют другой язык высокого уровня, например, C. Ни один из компиляторов, включенных в GCC, не реализован таким образом; все они генерируют машинный код напрямую. Этот тип препроцессора не следует путать с препроцессором C, который является неотъемлемой частью языков C, C++, Objective-C и Objective-C++.
Далее: Стандарты, Наверх: Главная [Оглавление][Индекс]
© Free Software Foundation
Licensed under the GNU Free Documentation License, Version 1.3.
https://gcc.gnu.org/onlinedocs/gcc-9.5.0/gcc/G_002b_002b-and-GCC.html