C 手動開O2優化

2021-09-10 02:00:53 字數 563 閱讀 7962

本文**:感謝博主讓我漲姿勢,蟹蟹!

o1優化會消耗少多的編譯時間,它主要對**的分支,常量以及表示式等進行優化。 

o2會嘗試更多的暫存器級的優化以及指令級的優化,它會在編譯期間占用更多的記憶體和編譯時間。 

o3在o2的基礎上進行更多的優化,例如使用偽暫存器網路,普通函式的內聯,以及針對迴圈的更多優化。 

os主要是對**大小的優化,我們基本不用做更多的關心。 通常各種優化都會打亂程式的結構,讓除錯工作變得無從著手。並且會打亂執行順序,依賴記憶體操作順序的程式需要做相關處理才能確保程式的正確性。  

-o0: 不做任何優化,這是預設的編譯選項。

-o和-o1: 對程式做部分編譯優化,對於大函式,優化編譯占用稍微多的時間和相當大的記憶體。使用本項優化,編譯器會嘗試減小生成**的尺寸,以及縮短執行時間,但並不執行需要占用大量編譯時間的優化。 開啟的優化選項:

o2優化能使程式的編譯效率大大提公升。

從而減少程式的執行時間,達到優化的效果。

c++程式中的o2開關如下所示:

#pragma gcc optimize(2)

手動開上O2優化(c )

o2優化能使程式的編譯效率大大提公升 從而減少程式的執行時間,達到優化的效果。原理 該優化選項會犧牲部分編譯速度,除了執行 o1所執行的所有優化之外,還會採用幾乎所有的目標配置支援的優化演算法,用以提高目標 的執行速度。on n 0,1,2,3,也可以是其它單詞 是gcc為了一般人方便而做的設定,根...

關於Ox O0 O1和O2 優化

ox x取123 主要是對 大小的優化,我們基本不用做更多的關心。通常各種優化都會打亂程式的結構,讓除錯工作變得無從著手。並且會打亂執行順序,依賴記憶體操作順序的程式需要做相關處理才能確保程式的正確性。o0 不做任何優化,這是預設的編譯選項。o和o1 對程式做部分編譯優化,對於大函式,優化編譯占用稍...

虛擬機器上也可以跑O2的介面

虛擬機器上也可以跑o2的介面這樣就方便除錯了 虛擬機器跑的是ubuntu 9.10的系統 操作過程非常簡單,前提是要拿到正確的包 將libintel.tar.gz解壓縮到 lib intel下 將openpeak.tar.gz解壓縮到 openpeak下 複製 openpeak tango loca...