1、预编译
(1)宏定义指令,如 #define a b
(2)条件编译指令,如#ifdef,#ifndef,#else,#elif,#endif等
(3)头文件包含指令,如#include "FileName"或者#include 等
(4)特殊符号,LINE、FILE等
2、编译
进行词法分析和语法分析,在确认所有的指令都符合语法规则之后,将其翻译成等价的中间代码表示或汇编代码
3、汇编
汇编实际上指把汇编语言代码翻译成目标机器指令的过程
4、链接
(1)符号决议
(2)库、可执行文件生成
(3)重定位
5、输入输出
(1)预编译:
将.c 文件转化成 .i文件
使用的gcc命令是:gcc –E
对应于预处理命令cpp
(2)编译
将.c/.h文件转换成.s文件
使用的gcc命令是:gcc –S
对应于编译命令 cc –S
(3)汇编
将.s 文件转化成 .o文件
使用的gcc 命令是:gcc –c
对应于汇编命令是 as
(4)链接
将.o文件转化成可执行程序
使用的gcc 命令是: gc
对应于链接命令是 ld
网友评论