文章目录
一.gcc简介
因为在Linux下开发应用程序时,基本使用的都是C语言,所以就要求我们至少熟练掌握一种C编译器。编译器可以把我们利用高级语言编写的源代码转换成为计算机能够直接执行的二进制代码,因为CPU是不能够理解main、int、double等这些C语言的关键词,CPU只能识别和执行由0、1俩个数码构成的二进制代码。
Linux中最常用的编辑器就是gcc(GUN Compiler Collection),它是GUN项目中符合ANSI C标志的编译器,能够编译C、C++、Java、Fortran、Pascal和Ada等语言编写的程序。gcc不仅功能强大、简单灵活,而且它还能支持各种不同的硬件平台,在Linux下的嵌入式开发中也有广泛的应用。
二.程序的编译过程
使用gcc进行编译程序时,编译过程可以分为四步:
- 预处理
- 编译
- 汇编
- 链接
我们以test.c
文件的编译为例
下面对这四步操作进行详细的介绍:
1.预处理
在预处理阶段,gcc要处理C文件中的预处理命令,也就是我们熟悉的一些指令:
#define
#ifndef
#include
在这个阶段会生成中间文件test.i
,但在实际工作中不会专门生成这种文件,如果必须要生成这种文件,可以用下面的gcc命令:
gcc -E test.c -o test.