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

g++ 学习笔记的更多相关文章

  1. CC/G++ 学习笔记

    CC/G++ 学习笔记 本文是<An introduction to GCC>的学习笔记,记录使用GCC/G++主要的实用技巧,本文讲述的知识基本上摘自本书,附带自己的一些体验.如果想详细 ...

  2. GCC/G++ 学习笔记

    本文是<An introduction to GCC>的学习笔记,记录使用GCC/G++主要的实用技巧,本文讲述的知识基本上摘自本书,附带自己的一些体验.如果想详细查看本书,请戳这里. 一 ...

  3. js学习笔记:webpack基础入门(一)

    之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...

  4. react-native学习笔记--史上最详细Windows版本搭建安装React Native环境配置

    参考:http://www.lcode.org/react-native/ React native中文网:http://reactnative.cn/docs/0.23/android-setup. ...

  5. swift学习笔记1——基础部分

    之前学习swift时的个人笔记,根据github:the-swift-programming-language-in-chinese学习.总结,将重要的内容提取,加以理解后整理为学习笔记,方便以后查询 ...

  6. Oracle学习笔记三 SQL命令

    SQL简介 SQL 支持下列类别的命令: 1.数据定义语言(DDL) 2.数据操纵语言(DML) 3.事务控制语言(TCL) 4.数据控制语言(DCL)  

  7. Java学习笔记(04)

    Java学习笔记(04) 如有不对或不足的地方,请给出建议,谢谢! 一.对象 面向对象的核心:找合适的对象做合适的事情 面向对象的编程思想:尽可能的用计算机语言来描述现实生活中的事物 面向对象:侧重于 ...

  8. Vue.js学习笔记(2)vue-router

    vue中vue-router的使用:

  9. Linux 学习笔记

    Linux学习笔记 请切换web视图查看,表格比较大,方法:视图>>web板式视图 博客园不能粘贴图片吗 http://wenku.baidu.com/view/bda1c3067fd53 ...

随机推荐

  1. php+ajax 文件上传

    html 代码 <form action="{pboot:form fcode=8}" method="post" id="t" en ...

  2. CUDA编程模型——组织并行线程2 (1D grid 1D block)

    在”组织并行编程1“中,通过组织并行线程为”2D grid 2D block“对矩阵求和,在本文中通过组织为 1D grid 1D block进行矩阵求和.一维网格和一维线程块的结构如下图: 其中,n ...

  3. retry

    async function retryGetItem( oriFun) { var operation = retry.operation(); operation.attempt(function ...

  4. java.lang.OutOfMemoryError: PermGen space解决方法

  5. Hive随机取某几行数据

    order by rand() limit 100 1. 可用于普通随机筛选 2. 也可用于row_number() 等函数的排序里作为随机排序.

  6. take it easy

    昨天魏辉在群里说,觉得自己以前很多事情做的不对,以前是个傻瓜,我说我也是这么觉得的.为什么这么说呢?因为我真的觉得以前的自己就是个SB.人的成长可能就是这样的吧,小时候的一些事情,或者是原生家庭的环境 ...

  7. 用EventEmitter收发消息

    下面简单介绍其步骤. <发消息 方> 1.import进EventEmitter import { EventEmitter } from '@angular/core'; 2.在Comp ...

  8. WPF 学习笔记

    依赖属性(Dependency Property) 相比较于普通属性,依赖属性有以下特点: 变化通知(change notification) 节省内存 使用某种带优先级决定策略(resolution ...

  9. 把nginx当完全tcp端口转发器

    在nginx.conf里加入 stream {     server {         listen 18443;         proxy_pass 58.xxx.xxx.xxx:8443;   ...

  10. UE4 Virtual Reality Input输入配置表导入

    [/Script/Engine.InputSettings] AxisConfig=(AxisKeyName="OculusTouch_Right_FaceButton2",Axi ...