1.概述
GCC编译器能将C/C++语言程序、汇编程序编译、链接成可执行文件。
2.GCC简介
GCC是以GPL许可证所发行的自由软件,也是GNU计划的关键部分。GCC初衷是为
GNU操作系统专门编写一款编译器, 现已被大多数类Jnix操作系統(如Linux、 BSD、
Mac OS X等)采纳为标准的编译器,甚至在微软的Windows.上也可以使用GCC。GCC
支持多种计算机体系结构芯片,如x86、 ARM、 MIPS等, 并已被移植到其他多种硬件平
台。
GCC原名为GNU C语言编辑器(GNUC Compiler),只能处理C语言。但其很快扩
展,变得可处理C++.后来又扩展为能够支持更多编程语言,如Fortran、 Pascal.
Objective-C、Java、 Ada、Go以及各类处理器架构上的汇编语言等,所以改名GNU编
译器套件(GNU Compiler Collection)。
3.gcc遵循的约定规则
4.GCC的编译过程
(3)汇编
下一步进行的是汇编。在汇编阶段,编译器把编译出来的结果汇编成具体CPU_上的目标
代码模块。输入汇编文件*.s,输出机器语言*.0。
(4)链接
最后,在链接阶段把多个目标代码模块连接生成一-个大的目标模块。输入机器代码文件
*.o (与其他的机器代码文件和库文件),汇集成一 个可执行的二进制代码文件。这一步骤
可以利用下面的示例命令完成链接到库中,变成可执行文件
链接是自动完成的,-0仅是为输出文件重命名而已
(5)汇编生成
(6)生成可执行程序 -o
(7)生成可执行程序系统默认名a.out
提示警告
GCC有很多的编译选项,警告选项;指定头文件、库路径:优化选项。详细可参考htt
p:/gccgow.org/onlinedocs/gcc/Warning: Qptions.html文档
默认级别是编译器认为的警告,满足大部分场合使用。
显示更多警告 -Wall(常用)
发生第一个错误时中止编译 Wfatal-errors
项目很大,错误很多,找不到第一个错误时, 可以使用测试一下。
关闭警告 -w(小写w)
严禁使用
警告转换为错误Werror
可以参考使用不常用
编译时定义宏 -D
调试阶段很方便,量产时不需要再次处理源代码
检查符合ANSI/ISO标准 --pedantic
下面来看看gcc是如何帮助程序员来发现这些错误的。当gcc在编译不符合ANSIISO C语
言标准的源代码时,如果加上了pedantic选项,那么在使用了打展语法的地方将产生相
应的警告信息,如下:
# gcc -pedantic warning_ .code.c -0 warning. code