学习参考: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进行退出