预处理过程主要是处理源代码中的以“#”开始的预处理指令。
编译过程就是把预处理的文件进行一系列的词法分析,语法分析,语义分析以及优化后产生相应的汇编代码文件。这个部分是最核心的部分在整个过程中。
汇编器将汇编代码转变成机器可以执行的指令。
经过以上三步处理之后,生成.o文件
GCC 命令参数
https://www.runoob.com/w3cnote/gcc-parameter-detail.html
-E 预处理
-S //预处理 编译
-c 仅生成.o文件//预处理 编译 汇编
-o 生成可执行文件// 预处理 编译 汇编 链接
https://zhuanlan.zhihu.com/p/83716863
直接把.o文件组合起来,方便,易于调试,但是占用空间比较大。
动态链接的本质是把链接的过程推迟到运行时再进行。