g++ 学习笔记
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++ 学习笔记的更多相关文章
- CC/G++ 学习笔记
CC/G++ 学习笔记 本文是<An introduction to GCC>的学习笔记,记录使用GCC/G++主要的实用技巧,本文讲述的知识基本上摘自本书,附带自己的一些体验.如果想详细 ...
- GCC/G++ 学习笔记
本文是<An introduction to GCC>的学习笔记,记录使用GCC/G++主要的实用技巧,本文讲述的知识基本上摘自本书,附带自己的一些体验.如果想详细查看本书,请戳这里. 一 ...
- js学习笔记:webpack基础入门(一)
之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...
- react-native学习笔记--史上最详细Windows版本搭建安装React Native环境配置
参考:http://www.lcode.org/react-native/ React native中文网:http://reactnative.cn/docs/0.23/android-setup. ...
- swift学习笔记1——基础部分
之前学习swift时的个人笔记,根据github:the-swift-programming-language-in-chinese学习.总结,将重要的内容提取,加以理解后整理为学习笔记,方便以后查询 ...
- Oracle学习笔记三 SQL命令
SQL简介 SQL 支持下列类别的命令: 1.数据定义语言(DDL) 2.数据操纵语言(DML) 3.事务控制语言(TCL) 4.数据控制语言(DCL)
- Java学习笔记(04)
Java学习笔记(04) 如有不对或不足的地方,请给出建议,谢谢! 一.对象 面向对象的核心:找合适的对象做合适的事情 面向对象的编程思想:尽可能的用计算机语言来描述现实生活中的事物 面向对象:侧重于 ...
- Vue.js学习笔记(2)vue-router
vue中vue-router的使用:
- Linux 学习笔记
Linux学习笔记 请切换web视图查看,表格比较大,方法:视图>>web板式视图 博客园不能粘贴图片吗 http://wenku.baidu.com/view/bda1c3067fd53 ...
随机推荐
- Maven 下添加oracle11g的包 报Missing artifact com.oracle:ojdbc6:jar:11.2.0.1.0
Missing artifact com.oracle:ojdbc6:jar:11.2.0.1.0 原因:Oracle 的ojdbc.jar是收费的,所以maven的中央仓库中没有这个资源,只能通过配 ...
- JDK8 lameda表达式学习例子
lameda表达式是jdk8出的内容,作为一名老程序员,一直没接触.二次开发git上的一个开源项目,直接泪崩.于是赶紧补补课,直接上学习过程中的源码:package xx.test.lameda; i ...
- Dao层抽取BaseDao公共方法
设计IBseDao接口,定义公共的CRUD方法. // IBaseDao 接口,定义公共的CRUD方法 public interface IBaseDao<T> { public void ...
- 关联tomcat源代码
1.进入tomcat官网下载对应版本源代码文件 2. 3..ctrl+鼠标左键 点击Cookie对象 4. 5.
- python 网站 监控返回值
import requests try: code = requests.get("https://api.sudaizhijia.cm/").status_code print( ...
- 【转】【JAVA资料免费下载】158个JAVA免豆精品资料汇总——下载目录
附件完整版下载地址: http://down.51cto.com/data/431561 附件部分预览~ java中国移动收费系统[源代码] http://down.51cto.com/data/70 ...
- redis-python
一:缓存数据库介绍 NoSQL(NoSQL = Not Only SQL ),意即“不仅仅是SQL”,泛指非关系型的数据库,随着互联网web2.0网站的兴起,传统的关系数据库在应付web2.0网站,特 ...
- CentOS安装svn(subversion)版本管理
yum -y install subversion svnadmin create /svn/repository cd /svn/repository/conf ll 查看文件-rw-r--r-- ...
- mac安装linux双系统的吐槽
[First day] 尝试安装mac - linux 双系统 首先,尝试的是ubuntu16.06版本,要把双系统安装至电脑硬盘512G SSD中, *** 分盘 1.1 打开实用工具中的磁盘管理工 ...
- (ZT)算法杂货铺——k均值聚类(K-means)
https://www.cnblogs.com/leoo2sk/category/273456.html 4.1.摘要 在前面的文章中,介绍了三种常见的分类算法.分类作为一种监督学习方法,要求必须事先 ...