当前位置:  开发笔记 > 编程语言 > 正文

gcc -O2的含义

如何解决《gcc-O2的含义》经验,为你挑选了2个好方法。

我在makefile中看到了这个标志.它是什么意思,什么时候应该使用?



1> Can Berk Güd..:

优化级别2.

来自GCC手册页:

-O1优化.优化编译需要更多时间,并且大型函数需要更多内存.

-O2优化甚至更多.GCC几乎执行所有支持的优化,不涉及空速 - 权衡.指定-O2时,编译器不执行循环展开或函数内联.与-O相比,此选项增加了编译时间和生成代码的性能.

-O3优化更多.-O3打开-O2指定的所有优化,并打开-finline-functions,-funswitch-loops,-fpredictive-commoning,-fgcse-after-reload和-ftree-vectorize选项.

-O0减少编译时间并使调试产生预期结果.这是默认值.

-Os优化尺寸.-Os启用所有通常不会增加代码大小的-O2优化.它还执行旨在减少代码大小的进一步优化.



2> vartec..:

优化级别2,最大值为3.请参阅:http://gcc.gnu.org/onlinedocs/gcc/Optimize-Options.html

请注意,在几年前-O3,通过过度"优化"代码可能会导致一些故障.AFAIK,现代版GCC不再适用.但惯性,-O2被认为是"最安全".

推荐阅读
mobiledu2402851173
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有