C++程序编译流程
预编译
这个过程主要是处理源代码中以#开头的预编译指令,比如#include,#define等
#-o 选项指定生成的文件
g++ -E hello.cpp -o hello.i
编译
这个过程就是把预编译完的文件进行词法分析、语法分析、语义分析及优化后生成
相应的汇编代码
#直接编译上步生成文件或源文件都可
g++ -S hello.i -o hello.s
g++ -S hello.cpp -o hello.s
汇编
这个过程就是把汇编代码转换成机器码
g++ -c hello.s -o hello.o
g++ -c hello.cpp -o hello.o
链接
通过链接器将一个个目标文件(或许还会有库文件)链接在一起生成一个完整的可执行程序。