GCC(GNUCompilerCollection,GNU编译器套件),是由GNU开发的编程语言编译器。它是以GPL许可证所发行的自由软件,也是GNU计划的关键部分。GCC原本作为GNU操作系统的官方编译器,现已被大多数类Unix操作系统(如Linux、BSD、MacOSX等)采纳为标准的编译器,GCC同样适用于微软的Windows。GCC是自由软件过程发展中的著名例子,由自由软件基金会以GPL协议发布。
GCC原名为GNUC语言编译器(GNUCCompiler),因为它原本只能处理C语言。GCC很快地扩展,变得可处理C++。后来又扩展能够支持更多编程语言,如Fortran、Pascal、Objective-C、Java、Ada、Go以及各类处理器架构上的汇编语言等,所以改名GNU编译器套件(GNUCompilerCollection)。
gcc主要特征:
1:可移植编译器,支持多种硬件平台。
2:支持跨平台交叉编译(跨CPU)。
在windows下,基本上都是个人机,都是x86架构的CPU(常见的AMD和intel都是x86架构),几乎用不到跨平台。而linux就不同了,它覆盖有很多的CPU类型(苹果的ppc)。
这里的跨平台不是跨操作系统。当程序换一个操作系统时,就不能运行了。因为操作系统的解析程序的方式不同。Ubuntu下的程序换到centOS中是不能执行的。
3:多种语言前端,用于解析不同语言。
4:按模块化设计,可以随时加入新语言和新CPU架构的支持。
5:自由软件。
gcc的编译过程。
编译预处理–Epre-processing
把一些头文件包含进来,然后把宏定义都替换掉.
编译-S