j (1).i :预处理后的源代码 (2).s 文件:汇编语言文件 (3).o 文件:(Linux/Unix 系统,Windows 系统对应.obj) 目标文件(Object File) (4).exe 文件:可执行文件
-E 只激活预处理,这个不生成文件,你需要把它重定向到一个输出文件里面 -S 编译到汇编语言不进行汇编和链接 -c 编译到目标代码 -o 文件输出到 文件 -static 此选项对生成的文件采用静态链接 -g 生成调试信息。 -shared 此选项将尽量使用动态库,所以生成文件比较小,但是需要系统由动态库. -O0 -O1 -O2 -O3 编译器的优化选项的4个级别,-O0表示没有优化,-O1为缺省值,-O3优化级别最高 -w 不生成任何警告信息。 -Wall 生成所有警告信息。
没经过处理的源码:
经过预处理到编译后:g++ -E test.cc -o test.i: 源码 - > 预处理代码 注释删除,宏替换,头文件包含处理
g++ -S test.i -o test.s后:预处理代码 -> 汇编代码
g++ -c test.s -o test.o后:汇编代码 -> 目标文件
g++ -o mytest test.o或则g++ test.o -o mytest.1后: 生成 .exe