GCC O2 O3 优化

GCC O2 O3 优化

震惊!c++中竟然有优化

O1优化会消耗少多的编译时间,它主要对代码的分支,常量以及表达式等进行优化。

O2会尝试更多的寄存器级的优化以及指令级的优化,它会在编译期间占用更多的内存和编译时间。

O3在O2的基础上进行更多的优化,例如使用伪寄存器网络,普通函数的内联,以及针对循环的更多优化。

Os主要是对代码大小的优化,我们基本不用做更多的关心。 通常各种优化都会打乱程序的结构,让调试工作变得无从着手。并且会打乱执行顺序,依赖内存操作顺序的程序需要做相关处理才能确保程序的正确性
借鉴博客

本蒟蒻表示很惊讶c++居然有优化,废话不多说,直接上 O2 O3优化代码

O2优化

#pragma GCC optimize(2)

O3优化

#pragma GCC optimize(3,"Ofast","inline")

对于O0,是默认的编译选项,没有任何的优化

O2优化和O3优化记得放在程序的最前面!!!

原文地址:https://www.cnblogs.com/luojunhang/p/12300173.html