编译器将程序编译成可执行文件的四步骤

  1. 预处理(Preprocessing):命令gcc首先调用cpp进行预处理,进行预处理的过程中,对源码文件中的文件包含、预编译语句进行分析,使用-E参数。
  2. 编译(Compilation):调用cc进行编译。这个阶段根据输入文件生成以.s为后缀的汇编文件,使用-s 参数。
  3. 汇编(Assembly): 汇编过程是针对汇编语言的步骤,调用as进行工作,将.S和.s为后缀的汇编语言文件经过预编译和汇编成为.o为后缀的目标文件,使用-c参数。
  4. 连接(Linking): 当所有的目标文件都生成之后,调用ld完成最后的关键性工作,这个阶段就是连接。在连接阶段所有的目标文件都被安排到可执行程序的恰当的位置上,同时,该程序所调用到的库函数也从各自所在的档案库中连到合适地方,使用-o参数。

你可能感兴趣的:(编译器将程序编译成可执行文件的四步骤)