gcc/g++ -O 优化选项说明

转载 2013年12月04日 17:20:32
查查gcc手册就知道了,每个编译选项都控制着不同的优化选项 下面从网络上copy过来的,真要用到这些还是推荐查阅手册
-O设置一共有五种:-O0、-O1、-O2、-O3和-Os。

除了-O0以外,每一个-O设置都会多启用几个选项,请查阅gcc手册的优化选项章节,以便了解每个-O等级启用了哪些选项及它们有何作用。

让我们来逐一考察各个优化等级:

-O0:这个等级(字母“O”后面跟个零)关闭所有优化选项,也是CFLAGS或CXXFLAGS中没有设置-O等级时的默认等级。这样就不会优化代码,这通常不是我们想要的。
-O1:这是最基本的优化等级。编译器会在不花费太多编译时间的同时试图生成更快更小的代码。这些优化是非常基础的,但一般这些任务肯定能顺利完成。
-O2:-O1的进阶。这是推荐的优化等级,除非你有特殊的需求。-O2会比-O1启用多一些标记。设置了-O2后,编译器会试图提高代码性能而不会增大体积和大量占用的编译时间。
-O3:这是最高最危险的优化等级。用这个选项会延长编译代码的时间,并且在使用gcc4.x的系统里不应全局启用。自从3.x版本以来gcc的行为已经有了极大地改变。在3.x,-O3生成的代码也只是比-O2快一点点而已,而gcc4.x中还未必更快。用-O3来编译所有的软件包将产生更大体积更耗内存的二进制文件,大大增加编译失败的机会或不可预知的程序行为(包括错误)。这样做将得不偿失,记住过犹不及。在gcc 4.x.中使用-O3是不推荐的。
-Os:这个等级用来优化代码尺寸。其中启用了-O2中不会增加磁盘空间占用的代码生成选项。这对于磁盘空间极其紧张或者CPU缓存较小的机器非常有用。但也可能产生些许问题,因此软件树中的大部分ebuild都过滤掉这个等级的优化。使用-Os是不推荐的。

gcc/g++编译优化

1.  介绍 什么是CFLAGS和CXXFLAGS 人们用环境变量CFLAGS和CXXFLAGS来告诉GNU编译器集合(GNU Compiler Collection),即gcc,在编译源代码时使...
  • AttaGain
  • AttaGain
  • 2014年01月22日 10:20
  • 10815

G++ 编译结果优化方式!!!!!

1,C++里面STL自带的vector存取效率不高,在可能的情况下用指针数组代替会大幅提高性能。 2,C++中对象的传递,尽可能使用引用,避免无意义的对象拷贝过程。 3,编译的时候加上 -O3, ...
  • jbddygb
  • jbddygb
  • 2017年01月23日 13:47
  • 476

gcc/g++编译优化选项(一)

在进行C++编译时,有时候因为没有进行编译优化而导致程序运行效率慢,因此在这里介绍了gcc/g++编译优化的选项...

嵌入式 GCC或者G++编译优化选项(适合嵌入式的有限空间)

们首先从三个方面来看与优化相关的内容: 从运行时的依赖关系来看,对性能有较大影响的组件有 kernel 和 glibc ,虽然这严格说来这不属于本文的话题,但是经过精心选择、精心配置、精心编译的内核...
  • skdkjxy
  • skdkjxy
  • 2014年03月14日 17:04
  • 1224

bazel选项的部分翻译,希望给编译tf的童鞋参考

部分翻译了bazel的选项的含义,仅供参考

【转】g++编译优化详解

来源g++编译优化指南

linux下gcc/g++的命令和使用详解

[介绍] gcc and g++分别是gnu的c & c++编译器 gcc/g++在执行编译工作的时候,总共需要4步 1.预处理,生成.i的文件[预处理器cpp] 2.将预处理后的文...

g++编译命令选项

gcc & g++现在是gnu中最主要和最流行的c & c++编译器 。 g++是c++的命令,以.cpp为主,对于c语言后缀名一般为.c。这时候命令换做gcc即可。其实是无关紧要的。 其实编译器是根...
  • woshinia
  • woshinia
  • 2013年09月04日 15:14
  • 56291

浅谈C++普通指针和智能指针管理动态内存的陷阱

前言: C++中动态内存的管理主要是使用new/delete表达式和std::allcator类。 为了管理动态内存更加安全,C++11新标准库推出了智能指针。这里只讨论使用他们在使...

SPIR-V 研究:编译器基本原理(一)

SPIR-V 研究:编译器基本原理(一)前面转过两篇关于SPIR-V 中间语言的介绍;接下来笔者准备深入学习一下SPIR-V的标准。根据标准,SPIR-V是以一种二进制格式存在的,并且函数还是以控制流...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:gcc/g++ -O 优化选项说明
举报原因:
原因补充:

(最多只允许输入30个字)