gcc都做了什么优化

如题所述

用过gcc的都应该知道编译时候的-O选项吧。它就是负责编译优化。
下面列出它的说明:
-O
-O1 Optimize. Optimizing compilation takes somewhat more time, and a lot more memory for a
large function.
With -O, the compiler tries to reduce code size and execution time, without performing any
optimizations that take a great deal of compilation time.
-O turns on the following optimization flags: -fdefer-pop -fdelayed-branch
-fguess-branch-probability -fcprop-registers -floop-optimize -fif-conversion -fif-conver-
sion2 -ftree-ccp -ftree-dce -ftree-dominator-opts -ftree-dse -ftree-ter -ftree-lrs
-ftree-sra -ftree-copyrename -ftree-fre -ftree-ch -funit-at-a-time -fmerge-constants
温馨提示:答案为网友推荐,仅供参考
第1个回答  2016-11-08
ICC是针对Intel处理器优化的,有很多优化开关是默认打开的。而GCC是跨平台的编译器,包括支持ARM架构的处理器,所以它的一些开关默认关闭。如果优化全开的话,ICC和GCC编译后的程序在效率上基本无差别。并且由于优化,ICC会出现很多奇怪的BUG。另外,ICC收费,ICC的免费版的限制很多。本回答被网友采纳
相似回答