1 Языки программирования, поддерживаемые GCC
GCC означает «GNU Compiler Collection». GCC — это интегрированное распределение компиляторов для нескольких основных языков программирования. В настоящее время эти языки включают C, C++, Objective-C, Objective-C++, Fortran, Ada, Go и BRIG (HSAIL).
Аббревиатура GCC имеет несколько значений в общем употреблении. Текущее официальное значение — «GNU Compiler Collection», которое обозначает весь набор инструментов. Исторически название означало «GNU C Compiler», и это использование все еще распространено, когда делается упор на компиляцию программ на языке C. Наконец, это название также используется, когда речь идет о независимой от языка составляющей GCC: коде, используемом в компиляторах для всех поддерживаемых языков.
Независимая от языка составляющая GCC включает в себя большинство оптимизаторов, а также «задние части», которые генерируют машинный код для различных процессоров.
Часть компилятора, специфичная для определенного языка, называется «передняя часть». Помимо передних частей, которые являются интегрированными компонентами GCC, существуют и другие отдельные передние части. Они поддерживают такие языки, как Pascal, 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-7.5.0/gcc/G_002b_002b-and-GCC.html