g++ 学习笔记

本文详细介绍了GNU的C/C++编译器GCC和G++的编译过程,包括预处理、转换为汇编语言、生成目标代码及连接目标代码生成可执行程序的四个步骤。同时提供了各种命令参数说明,如-Wall、-g、-w等,帮助读者深入理解编译器的工作原理。
摘要由CSDN通过智能技术生成

gcc and g++分别是GNU的c & c++编译器。gcc/g++在执行编译的时候一般有下面4步:

1 预处理,生成.i的文件。

  命令如下:g++ -E  test.cpp

  此命令只进行预处理,不会生成文件,需要将输出重定向到 test.i 文件中,命令如下:

  g++ -E  test.cpp -o test.i  或  g++ -E  test.cpp > test.i

⒉将预处理后的文件转换成汇编语言,生成文件.s。

  命令如下:g++ -S test.i 

  也可以直接生成 .s文件,命令如下:

  g++ -S test.cpp 

⒊由汇编变为目标代码(机器代码)生成.o的文件。

  命令如下:g++ -c test.s 或 g++ -c test.s -o test.o

  也可以直接生成.o文件,命令如下:g++ -c test.cpp

⒋连接目标代码,生成可执行程序。

  命令如下:g++ -o test test.cpp  或  g++ test.cpp -o test 或   g++ -o test test.o

 其它参数

  •   -Wall 使能所有警告信息 命令如下(以hello.cpp为例):g++ -Wall -o hello hello.cpp

     

 

  •   -g 可以对程序进行调试,生成调试信息。 命令如下:g++ -g -o hello hello.cpp
  •   -w 关闭警告信息 命令如下:g++ -w -Wall -o hello hello.cpp

     

     如图,加入-w 参数后,没有输出警告信息。

  •   -I(大写的i)指定头文件查找目录,当头文件与源文件不在同一目录下时可使用该参数,

     

     g++ -c test.cpp ./func/func.cpp -I./func

 

转载于:https://www.cnblogs.com/beikew/p/10117756.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值