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)前端