常规操作
我们通常使用gcc/g++编译c/cpp文件,通常是使用如下一行代码
g++ -o 可执行文件.exe 源文件.cpp
但实际上这一行代码中省略了很多步骤,事实上,在编译的过程中还有很多步骤
编译中间过程
源代码通过编译器生成目标代码,目标代码通过链接器与库代码、启动代码(充当程序与操作系统之间的接口)相链接,最终生成可执行文件
.cpp(源文件) -> .i(预处理文件) -> .s(汇编文件) -> .o(.obj目标文件) -> .exe(可执行文件)
命令行输入代码:
# .cpp -> .i
g++ -o 预处理文件名称.ii -E 源文件名称.cpp
# .i -> .s
g++ -o 汇编文件名.s -S 预处理文件名.ii
# .s -> .o
g++ -o 目标文件名.o -c 汇编文件名.o
# .o -> .exe
g++ -o 生成文件名.exe 目标文件名.o