GCC编译过程记
一、引言
对于编程工作者来说,GCC是一个熟悉的名字,它的全称是“GNU Compiler Collection”。GCC是一组编译器集合,目前其支持C、C++、Objective-C、Objective-C++、Go和RBIG语言的编译。本篇博客主要总结使用GCC进行代码编译的方法以及从源文件生成可执行文件的整个过程。
GCC完整的编译过程分为4个阶段,分别为预处理、编译、装载和链接。经过完整的4部处理后,GCC会将源文件编译成可执行文件进行输出,但是很多时候,我们进行调用时并不需要每一个过程都单独调用,可以使用组合命令来让GCC帮我们处理完成这些工作。
二、GCC编译的输出参数
由于GCC是一组编译器集合,因此输入的文件后缀名决定了GCC的编译方式,下面列出了常见的文件后缀名对应的编译方式:
文件后缀名
编译方式
.c
C语言源代码,并且需要进行预处理
.i
已经预处理完成后的C语言源代码
.ii
已经预处理完成后的C++源代码
.m
Objective-C源代码,并且必须进行libobjc库的链接
.mi
已经预处理完成后的Objective-C源代码
.M或.mm
Objective-C++源代码,并且必须进行libobjc库的链接
.mii
已经预处理完成后的Objective-C++源代码
.h
C,C++,Objective-C的头文件,会被处理进预编译头</