中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Linux環境下gcc優化級別的示例分析

發布時間:2021-07-16 13:42:40 來源:億速云 閱讀:143 作者:小新 欄目:服務器

這篇文章將為大家詳細講解有關Linux環境下gcc優化級別的示例分析,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

gcc - o1 首先o1上面還有一個o0,那個是不提供任何優化,項目中幾乎不會使用,而o1使用就非常廣泛了,o1是最基本的優化,主要對代碼的分支,表達式,常量來進行優化,編譯器會在較短的時間下將代碼變得更加短小,這樣體積就會變得更小,會減少內存的占用率,在操作系統進行內存調度時就會更快。但是事情沒有絕對的優點,當一個龐大的程序被拆碎細分的話,內存占用會大大增加,由于當今系統大多數都是多線程,就會出現卡頓和反應延遲。

gcc - o2 這個優化級別是o1的進階,在上一級的基礎上會進行更嚴格的細分,最重要的是加入了寄存器的使用。寄存器是cpu中重要的組成部分,此外還有運算器和控制器,計算機顧名思義,要進行各種龐雜的計算,由于cpu速度較快,所以計算的中間結果都會保存在寄存器中,這樣可以大大提高系統的效率,但是寄存器造價高昂,數量有限,所以一般來說程序不會放在寄存器中,另一種將代碼放在寄存器的方式是使用register修飾變量,適用于頻繁調用的變量。

gcc - o3 這個優化屬于非常強大的優化,因為編譯器會進行預測,對循環每一層的預測,以便于將循環拆分,可以提高執行效率。編譯器還會試圖用已有的值來代替未知的值,并且還會用加代替乘,因為運算器的特性,乘法十分復雜耗時。當然o3的缺點最明顯,那就是o3因為試圖預測程序的走向,可能會出現誤差,導致錯誤和程序不可逆轉的走向。所以一般o3不建議使用。
以上就是關于優化的三個等級,對于優化,系統的優化還是機械的,程序員對于語言深刻的理解,巧妙地算法可能會更有意義。

關于“Linux環境下gcc優化級別的示例分析”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

镇赉县| 东宁县| 河北省| 揭西县| 惠安县| 寿光市| 安仁县| 新龙县| 玛曲县| 贵阳市| 石首市| 康平县| 砚山县| 崇仁县| 北川| 阳谷县| 谢通门县| 五大连池市| 灵寿县| 徐闻县| 乌苏市| 绥宁县| 通城县| 贵州省| 湄潭县| 贺州市| 札达县| 会同县| 宿松县| 铜陵市| 刚察县| 西畴县| 新泰市| 天镇县| 剑河县| 林州市| 托克逊县| 高要市| 喀喇| 通河县| 简阳市|