C语言代码编译成可执行程序经过以下四个步骤
1. 预处理
宏定义展开、头文件展开、条件编译等,同时将代码中的注释删除
2. 编译
检查语法,将预处理后文件编译成汇编文件
3. 汇编
将汇编文件生成目标文件(二进制文件)
4. 链接
C语言写的程序是需要依赖各种库的,所以编译之后还需要将库链接到最终的可执行程序中
gcc分步编译命令
步骤 | 命令 |
---|---|
预处理 | gcc -E hello.c -o hello.i(预处理后的C语言文件) |
编译 | gcc -S hello.i -o hello.s(编译后的汇编文件) |
汇编 | gcc -c hello.s -o hello.o(编译后的目标文件) |
链接 | gcc hello.o -o hello |