C\C++编译流程
总流程:
1.预处理(Preprocessing)
预处理用于将所有的#include头文件以及宏定义替换成其真正的内容;
将hello.c预处理输出hello.i文件
2.编译(Compilation)
将经过预处理之后的程序转换成特定汇编代码(assembly code)的过程;
在这个阶段中,gcc首先要检查代码的规范性、是否有语法错误等,以确定代码的实际要做的工作,在检查无误后,gcc把代码翻译成汇编语言。
将预处理输出文件hello.i汇编成hello.s文件
3.汇编(Assemble)
汇编过程将上一步的汇编代码转换成机器码(machine code),这一步产生的文件叫做目标文件;
将汇编输出文件hello.s编译输出hello.o文件
4.链接(Linking)
链接过程将多个目标文以及所需的库文件(.so等)链接成最终的可执行文件(executable file).
将编译输出文件hello.o链接成最终可执行文件hello
图参考:https://www.jianshu.com/p/0ec6cb21bd50
长风破浪会有时,直挂云帆济沧海!
可通过下方链接找到博主
https://www.cnblogs.com/judes/p/10875138.html