在linux系统上,GCC(GNU Compile Collection)是最常用的编译系统,功能非常强大。主要体现在两个方面。
GCC可以为x86、ARM、MIPS等不同体系结构的硬件平台编译程序。
GCC可以编译C、C++、Pascal、Java等数十种语言。
1.命令格式
gcc [选项] [文件名] [选项] [文件名]
(1)总体选项
-c; 对源文件进行编译或汇编
-E; 对源文件进行预处理
-S; 对源文件进行编译
-o; 输出目标文件
(2)调试选项
-g; 产生调试信息
(3)连接器选项
-static; 使用静态链接
-llibrary 链接library函数库文件
-L dir 指定连接器搜索目录
(4)目录选项:用于指定编译器的文件搜索目录
-Idir 指定头文件搜索目录
-Ldir 指定搜索目录
编译过程可以分为四个阶段
预处理(Pre-Processing)。
编译(Compiling)。
汇编(Assembling)。
链接(Linking)。
C程序在调用Glibc中的函数库时,需要引用与函数库对应的头文件,如stdio.h、sting.h等等,这些头文件都在/usr/include目录下。同时,在编译命令中需要加入某些函数库的连接参数,并使用符号“-l“进行连接。