Using the GNU Compiler Collection
Introduction
This manual documents how to use the GNU compilers, as well as their features and incompatibilities, and how to report bugs.
這個手冊是關於怎樣使用 GNU 編譯器工具集的,以及他們的特性、不兼容和怎樣提交bug
It corresponds to the compilers (GCC) version 8.0.0.
基於 GCC 8.0.0 版本
The internals of the GNU compilers, including how to port them to new targets and some information about how to write front ends for new languages, are documented in a separate manual.
而 GNU 編譯器工具集的內部構造,包括如何移植到新的目標平臺和一些關於怎樣爲新語言寫前端,是在一本獨立的手冊裏
See Section “Introduction” in GNU Compiler Collection (GCC) Internals.
詳見 GNU Compiler Collection (GCC) Internals 的介紹
GNU Compiler Collection Internals
Introduction
This manual documents the internals of the GNU compilers, including how to port them
to new targets and some information about how to write front ends for new languages.
這個手冊是關於 GNU 編譯器工具集內部構造,包括如何移植到新的目標平臺和一些關於怎樣爲新語言寫前端的信息
It corresponds to the compilers (GCC) version 8.0.0.
基於 GCC 8.0.0 版本
The use of the GNU compilers is documented in a separate manual.
關於 GNU 編譯器工具集的使用是在一本獨立的手冊裏
See Section “Introduction” in Using the GNU Compiler Collection (GCC).
詳見 Using the GNU Compiler Collection 的介紹
This manual is mainly a reference manual rather than a tutorial.
本手冊主要是參考手冊而不是一個教程
It discusses how to contribute to GCC (see Chapter 1 [Contributing], page 3),
第一章(3頁)討論瞭如何給 GCC 貢獻代碼
the characteristics of the machines supported by GCC as hosts and targets (see Chapter 2 [Portability], page 5),
第二章(5頁)討論了以 GCC 的可移植性
how GCC relates to the ABIs on such systems (see Chapter 3 [Interface], page 7),
第三章(7頁)敘述了 GCC 在系統上涉及的 ABI (Application Binary Interface 應用程序二進制接口)
and the characteristics of the languages for which GCC front ends are written (see Chapter 5 [Languages], page 59).
第五章(59頁)如何爲語言特性寫 GCC 前端
It then describes the GCC source tree structure and build system, some of the interfaces to GCC front ends, and how support for a target system is implemented in GCC.
然後描述了 GCC 源碼樹結構和構建系統,一些 GCC 前端 的接口,以及如何在 GCC 中的實現支持一個目標平臺
Additional tutorial information is linked to from http://gcc.gnu.org/readings.html.
額外的教程信息可訪問 http://gcc.gnu.org/readings.html. (本人親測打不開)
GCC Front End
GCC (GNU Compiler Collection) is essentially divided into a front end and a back end.
GCC(GNU 編譯器工具集) 本質上分爲 前端 和 後端
The main reason for this division is for providing code reusability.
這種劃分主要是因爲提高代碼的可重用性
As all of us know GCC supports a variety of languages. This includes C, C++, Java etc.
我們都知道 GCC 支持多種語言. 包括 C, C++, Java 等等
If you want to introduce a new language into GCC, you can.
如果你想要添加一種新的語言到GCC
The only thing you have to do is to create a new front end for that language.
你唯一要做的就是爲這種語言創建一個新的(GCC)前端