Programming Languages Supported by GCC(GCC 支持的編程語言)

Using the GNU Compiler Collection

1. Programming Languages Supported by GCC

GCC 支持的編程語言

GCC stands for “GNU Compiler Collection”.

GCC 全稱 “GNU Compiler Collection ( GNU 編譯器工具集 )”

GCC is an integrated distribution of compilers for several major programming languages.

GCC 是數個主流編程語言的集成編譯工具集

These languages currently include C, C++, Objective-C, Objective-C++, Fortran, Ada, Go, and BRIG (HSAIL).

當前支持的語言包括 C, C++, Objective-C, Objective-C++, Fortran, Ada, Go 和 BRIG (HSAIL).

The abbreviation GCC has multiple meanings in common use.

GCC 這個縮寫通常有多種含義

The current ofcial meaning is “GNU Compiler Collection”, which refers generically to the complete suite of tools.

現在的官方含義是”GNU 編譯器工具集”, 一般指完整的工具套件

The name historically stood for “GNU C Compiler”, and this usage is still common when
the emphasis is on compiling C programs.

歷史上也稱 GCC 爲 “GNU C 編譯器”, 當強調編譯 C 程序時這種用法仍然是常見的

Finally, the name is also used when speaking
of the language-independent component of GCC: code shared among the compilers for all
supported languages.

最後一種含義,GCC 也被用於指代它的獨立於語言的組件: 編譯器所支持全部語言的共有代碼部分

The language-independent component of GCC includes the majority of the optimizers,
as well as the “back ends” that generate machine code for various processors.

GCC 獨立於語言的組件包括大多數的優化器以及爲不同處理器生成機器碼的”後端

The part of a compiler that is specifc to a particular language is called the “front end”.

編譯器具體到一個特定的語言部分被稱爲 前端

In addition to the front ends that are integrated components of GCC, there are several
other front ends that are maintained separately.

此外, 前端 是 GCC 的集成組件,但是也有幾個分別維護的 前端

These support languages such as Pascal, Mercury, and COBOL.

比如 Pascal, Mercury 和 COBOL 的前端

To use these, they must be built together with GCC proper.

使用的前提是它們必須與 GCC 一起構建

Most of the compilers for languages other than C have their own names.

除 C 語言以外的大部分其他語言編譯器都有自己的名字

The C++ compiler is G++, the Ada compiler is GNAT, and so on.

比如 C++ 的編譯器是 G++, Ada 的編譯器是 GNAT 等等

When we talk about compiling one of those languages, we might refer to that compiler by its own name, or as GCC. Either is correct.

當我們談論這些語言中的某一種語言編譯的時候,我們可以提及該語言編譯器自己的名字或者說 GCC 也是正確的

Historically, compilers for many languages, including C++ and Fortran, have been implemented as “preprocessors” which emit another high level language such as C.

歷史上,有些編譯器爲許多語言,包括 C++ 和 Fortran, 實現了像 C 這種高級語言的預處理器

None of the compilers included in GCC are implemented this way;

但GCC中包含的編譯器都沒有這樣實現;

they all generate machine code directly.

他們都是直接生成機器碼

This sort of preprocessor should not be confused with the C preprocessor, which is an integral feature of the C, C++, Objective-C and Objective-C++ languages.

這種預處理器不應該與C的預處理器混淆,C的預處理器是C,C++,Objective-C 和 Objective-C++ 語言的一個完整特性。


關於對GCC的前端和後端的理解可查看上一篇文章中的 GCC Front End 部分
http://blog.csdn.net/letshi/article/details/70332292

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章