- 编译
一步到位的编译:
g++ cpp文件 # 此时默认生成一个a.out的可执行程序
g++ cpp文件 -o 可执行程序名称 # 此时可以自定义可执行程序的名称
分步编译:
# 1.预处理(Pre_processing)
# 功能:将源程序头文件展开、删除注释、宏替换
g++ -E cpp文件 -o ***.i # 注:***可替换为自定义名称,之后不再赘述
# 2.编译(Compiling)
# 功能:将程序编译成汇编语言
g++ -S ***.i -o ***.s
# 3.汇编((ASSembling)
# 功能:将汇编语言编译生成二进制文件
g++ -c ***.s -o ***.o
# 4.链接(Linking)
# 功能:链接相关库文件,生成可执行文件
g++ ***.o -o 可执行程序名称
注:如果既想获得预处理、编译、汇编以及链接这 4 个过程产生的中间文件,又不愿意执行繁琐的分步编译指令,可以执行:g++ cpp文件 -save-temps
。
我们发现,通过给 g++ 添加 -save-temps
选项可以使 GCC 编译器保留编译源文件过程中产生的所有中间文件
- 执行可执行程序
./可执行程序名称