我剛剛開始在Linux上使用g ++編譯器,並在編譯器標誌上提出了一些問題。以下是他們使用g ++製作靜態庫的優化和標誌
優化
我讀到的優化參數-O1
,在G ++手冊頁-O2
和-O3
。我不明白何時使用這些標誌。通常你使用什麼優化級別? g ++手冊爲-O2
說了以下內容。
優化更多。 GCC執行幾乎所有支持的優化,不涉及空間速度折衷。當您指定-O2時,編譯器不執行循環展開或函數內聯。與-O相比,此選項增加了編譯時間和生成的代碼的性能。
如果不進行內聯和循環展開,如何實現上述性能並且建議使用此選項?
靜態庫
如何創建使用克靜態庫++?在Visual Studio中,我可以選擇一個類庫項目,並將其編譯爲「lib」文件。 g ++中的等效物是什麼?
[2003年,海灣合作委員會的-O3是越野車,並得到一個壞的說唱。](http://stackoverflow.com/a/11546263/845092)現在它只會產生錯誤的代碼,當你違反規則,但人們喜歡破規則,並在發生後果時生氣,所以他們堅持-O2來避免編寫非法代碼的後果。 – 2014-01-31 21:00:11