写这个文章是因为发现网上有两种叫法
A叫法 预处理 - 编译 - 汇编 - 链接
B叫法 预处理 - 汇编 - 编译 - 链接
额,纠结的我呀,难受,还是直接看英文吧
假如我们有一个hello.c 的文件最终想要生成 hello这样一个ELF文件,需要有四步操作
#1 生成预处理文件
# Stop after the preprocessing stage
gcc -E hello.c -o hello.i
#2 生成汇编文件
# Stop after the stage of compilation proper
gcc -S hello.i -o hello.s
#3 生成可链接文件
# Compile or assemble the source files
gcc -c hello.s -o hello.o
#4 生成可执行文件
gcc hello.o -o hello
所以用英文来说就是
Preprocessing [预处理]
Compliation [编译]
Assembly [汇编]
Linking [链接]
显然A说法看起来更对一些