学习参考:3-3 g++编译实战_哔哩哔哩_bilibili
使用G++进行编译
-
预处理-Pre-Processing
- 语法: g++ -E yourcode.cpp -o out_file_name.i
- 使用预处理操作生成 .i文件, -E 选项指示编译器仅对输入文件进行预处理,-o只是文件输出路径/文件输出名
-
编译-Compiling
- 语法: g++ -S out_file_name.i -o out.s
- -S编译选项告诉g++在为c++代码产生了汇编语言文件后停止编译,g++产生的汇编语言文件的缺省扩展名是.s
-
汇编-Assembling
- 语法:g++ -C out.s -o out.o
- -C选项告诉g++仅把源代码编译为机器语言的目标代码,缺省时g++建立的目标代码文件有一个 .o 的扩展名
-
链接-Linking
- 语法:g++ out.o -o out
- -o编译选项来为将来产生可执行文件用指定的文件名
可以将上述4步骤汇总,就是不使用中间的任何选项,直接g++ yourcodename.cpp -o finally_out_file_name 就把上面全部都行都进行处理了,但是不会产生中间结果,只给你一个可执行文件,直接调用可执行文件就行。
G++中的一些重要编译参数
-
-g 编译带调试信息的可执行文件
-
-O[n] 优化源代码
看一下博主敲的,这里不想搓了,有点累。
-
-L 和 -l 用于链接库作用
- 使用 -L是表示库所在的文件夹目录位置
- 使用 -l 是直接指定库名
-
man g++
- 用于查看g++命令手册。
使用q进行退出
- 用于查看g++命令手册。