C++手动开启O2优化(以及-O -O1 -O2 -O3优化的知识点)(竞赛可用)
                                                            生活随笔
收集整理的這篇文章主要介紹了
                                C++手动开启O2优化(以及-O -O1 -O2 -O3优化的知识点)(竞赛可用)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.                        
                                -  
O1優化會消耗少多的編譯時間,它主要對代碼的分支,常量以及表達式等進行優化。?
O2會嘗試更多的寄存器級的優化以及指令級的優化,它會在編譯期間占用更多的內存和編譯時間。?
O3在O2的基礎上進行更多的優化,例如使用偽寄存器網絡,普通函數的內聯,以及針對循環的更多優化。?
Os主要是對代碼大小的優化,我們基本不用做更多的關心。?通常各種優化都會打亂程序的結構,讓調試工作變得無從著手。并且會打亂執行順序,依賴內存操作順序的程序需要做相關處理才能確保程序的正確性。??
 -  
-O0: 不做任何優化,這是默認的編譯選項。
 -  
-O和-O1: 對程序做部分編譯優化,對于大函數,優化編譯占用稍微多的時間和相當大的內存。使用本項優化,編譯器會嘗試減小生成代碼的尺寸,以及縮短執行時間,但并不執行需要占用大量編譯時間的優化。 打開的優化選項:
 -  
O2優化能使程序的編譯效率大大提升。
 -  
從而減少程序的運行時間,達到優化的效果。
 -  
C++程序中的O2開關如下所示:
 
- 同理O1、O3優化只需修改括號中的數即可。
 
- 只需將這句話放到程序的開頭即可打開O2優化開關。
 
?
開啟O3優化:
#pragma GCC optimize(3,"Ofast","inline")?
總結
以上是生活随笔為你收集整理的C++手动开启O2优化(以及-O -O1 -O2 -O3优化的知识点)(竞赛可用)的全部內容,希望文章能夠幫你解決所遇到的問題。
                            
                        - 上一篇: *【CodeForces - 1047A
 - 下一篇: scardsvr32.exe - sca