一、g++编译流程:
预处理——>编译——>汇编——>链接
二、g++编译指令
(注意大小写)假设我有一个main.cpp文件
1.-E:只对文件进行预处理,不进行编译和汇编。g++ -E main.cpp——>在dos命令行查看某文件的预处理过程
如果你想查看详细的预处理,可以重定向到一个文件中,如:g++ -E main.cpp -o main.i
2.-s:编译到汇编语言,不进行汇编和链接,即只激活预处理和编译,生成汇编语言
如果你想查看详细的编译,可以重定向到一个文件中,如:g++ -S main.cpp -o main.s
3.-c:编译到目标代码
g++ -c main.s -o main.o
4.-o:生成链接文件
如果该文件是独立的,与其他自己编写的文件无依赖关系。直接g++ main.o -o main
假设该文件依赖其他源文件(不需要加入头文件)temp.cpp,在对temp.cpp文件进行预处理->编译->汇编后,使用指令g++ temp.o main.o -o main
5..\:执行文件,输出结果。如: .\main
当然你可以直接g++ main.cpp temp.cpp -o main 生成目标文件让编译器自动为你处理其他流程。
或者直接编译,链接。
网友评论