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優化記得放在程序的最前面!!!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章