茂名专业网站建设公司,平面设计最新招聘信息,多元国际二维码图片,家装平面设计主要做什么O1优化会消耗少多的编译时间#xff0c;它主要对代码的分支#xff0c;常量以及表达式等进行优化。 O2会尝试更多的寄存器级的优化以及指令级的优化#xff0c;它会在编译期间占用更多的内存和编译时间。 O3在O2的基础上进行更多的优化#xff0c;例如使用伪寄存器网络它主要对代码的分支常量以及表达式等进行优化。 O2会尝试更多的寄存器级的优化以及指令级的优化它会在编译期间占用更多的内存和编译时间。 O3在O2的基础上进行更多的优化例如使用伪寄存器网络普通函数的内联以及针对循环的更多优化。 Os主要是对代码大小的优化我们基本不用做更多的关心。 通常各种优化都会打乱程序的结构让调试工作变得无从着手。并且会打乱执行顺序依赖内存操作顺序的程序需要做相关处理才能确保程序的正确性。 -O0 不做任何优化这是默认的编译选项。 -O和-O1 对程序做部分编译优化对于大函数,优化编译占用稍微多的时间和相当大的内存。使用本项优化编译器会尝试减小生成代码的尺寸以及缩短执行时间但并不执行需要占用大量编译时间的优化。 打开的优化选项 O2优化能使程序的编译效率大大提升。 从而减少程序的运行时间达到优化的效果。 C程序中的O2开关如下所示
#pragma GCC optimize(2)
同理O1、O3优化只需修改括号中的数即可。
只需将这句话放到程序的开头即可打开O2优化开关。开启O3优化
#pragma GCC optimize(3,Ofast,inline)