gcc的基本编译过程

本文有参考链接: GCC编译命令常用选项_一口Linux的博客-CSDN博客_gcc常用编译选项 

gcc的基本编译过程图示(从参考链接里取的):


下面是我自己使用Makefile编写的gcc的四个编译过程的代码: 

# Makefile:
# gcc的基本编译的阶段过程


cc = gcc
objs = main_run.o

 

# 4. 链接, 将所有的汇编文件链接为总执行文件
main_run: $(objs)
$(cc) $^ -o $@

# 1. 预处理, 产生将头文件展开进.c文件后的总代码文件(.i文件)
main_run.i: main_run.c
$(cc) -E main_run.c -o main_run.i

# 2. 仅编译, 产生汇编语言指令文件.s
main_run.s: main_run.i
$(cc) -S main_run.i -o main_run.s

# 3. 仅汇编, 使用编译产生的.s文件来编译出目标文件(.o文件)
%.o: %.s
$(cc) -c $< -o $@

 

# 其他指令
.PHONY: clean
clean:
rm $(objs) main_run ./*.i ./*.s

 

 

posted @ 2022-11-27 14:39  仰望星空-自然-7  阅读(26)  评论(0编辑  收藏  举报