日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

GCC编译选项 -OX[转]

發布時間:2024/9/5 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 GCC编译选项 -OX[转] 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
作者:知乎用戶
鏈接:https://www.zhihu.com/question/27090458/answer/137944410
來源:知乎
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。

一般來說,如果不指定優化標識的話,gcc就會產生可調試代碼,每條指令之間將是獨立的:可以在指令之間設置斷點,使用gdb中的 p命令查看變量的值,改變變量的值等。并且把獲取最快的編譯速度作為它的目標。

當優化標識被啟用之后,gcc編譯器將會試圖改變程序的結構(當然會在保證變換之后的程序與源程序語義等價的前提之下),以滿足某些目標,如:代碼大小最小或運行速度更快(只不過通常來說,這兩個目標是矛盾的,二者不可兼得)。

在不同的gcc配置和目標平臺下,同一個標識所采用的優化種類也是不一樣的,這可以使用-Q --help =optimizers來獲取每個優化標識所啟用的優化選項。

下面每個-f**優化標識都可以在上述鏈接中找到解釋


1.-O,-O1:
這兩個命令的效果是一樣的,目的都是在不影響編譯速度的前提下,盡量采用一些優化算法降低代碼大小和可執行代碼的運行速度。并開啟如下的優化選項:
-fauto-inc-dec -fbranch-count-reg -fcombine-stack-adjustments -fcompare-elim -fcprop-registers -fdce -fdefer-pop -fdelayed-branch -fdse -fforward-propagate -fguess-branch-probability -fif-conversion2 -fif-conversion -finline-functions-called-once -fipa-pure-const -fipa-profile -fipa-reference -fmerge-constants -fmove-loop-invariants -freorder-blocks -fshrink-wrap -fshrink-wrap-separate -fsplit-wide-types -fssa-backprop -fssa-phiopt -fstore-merging -ftree-bit-ccp -ftree-ccp -ftree-ch -ftree-coalesce-vars -ftree-copy-prop -ftree-dce -ftree-dominator-opts -ftree-dse -ftree-forwprop -ftree-fre -ftree-phiprop -ftree-sink -ftree-slsr -ftree-sra -ftree-pta -ftree-ter -funit-at-a-time 2. -O2
該優化選項會犧牲部分編譯速度,除了執行-O1所執行的所有優化之外,還會采用幾乎所有的目標配置支持的優化算法,用以提高目標代碼的運行速度。
-fthread-jumps -falign-functions -falign-jumps -falign-loops -falign-labels -fcaller-saves -fcrossjumping -fcse-follow-jumps -fcse-skip-blocks -fdelete-null-pointer-checks -fdevirtualize -fdevirtualize-speculatively -fexpensive-optimizations -fgcse -fgcse-lm -fhoist-adjacent-loads -finline-small-functions -findirect-inlining -fipa-cp -fipa-cp-alignment -fipa-bit-cp -fipa-sra -fipa-icf -fisolate-erroneous-paths-dereference -flra-remat -foptimize-sibling-calls -foptimize-strlen -fpartial-inlining -fpeephole2 -freorder-blocks-algorithm=stc -freorder-blocks-and-partition -freorder-functions -frerun-cse-after-loop -fsched-interblock -fsched-spec -fschedule-insns -fschedule-insns2 -fstrict-aliasing -fstrict-overflow -ftree-builtin-call-dce -ftree-switch-conversion -ftree-tail-merge -fcode-hoisting -ftree-pre -ftree-vrp -fipa-ra
3. -O3
該選項除了執行-O2所有的優化選項之外,一般都是采取很多向量化算法,提高代碼的并行執行程度,利用現代CPU中的流水線,Cache等。
-finline-functions // 采用一些啟發式算法對函數進行內聯 -funswitch-loops // 執行循環unswitch變換 -fpredictive-commoning // -fgcse-after-reload //執行全局的共同子表達式消除 -ftree-loop-vectorize  // -ftree-loop-distribute-patterns -fsplit-paths -ftree-slp-vectorize -fvect-cost-model -ftree-partial-pre -fpeel-loops -fipa-cp-clone options

這個選項會提高執行代碼的大小,當然會降低目標代碼的執行時間。

4. -Os
這個優化標識和-O3有異曲同工之妙,當然兩者的目標不一樣,-O3的目標是寧愿增加目標代碼的大小,也要拼命的提高運行速度,但是這個選項是在-O2的基礎之上,盡量的降低目標代碼的大小,這對于存儲容量很小的設備來說非常重要。
為了降低目標代碼大小,會禁用下列優化選項,一般就是壓縮內存中的對齊空白(alignment padding)
-falign-functions -falign-jumps -falign-loops -falign-labels -freorder-blocks -freorder-blocks-algorithm=stc -freorder-blocks-and-partition -fprefetch-loop-arrays 5. -Ofast:
該選項將不會嚴格遵循語言標準,除了啟用所有的-O3優化選項之外,也會針對某些語言啟用部分優化。如:-ffast-math ,對于Fortran語言,還會啟用下列選項:
-fno-protect-parens -fstack-arrays 6.-Og:
該標識會精心挑選部分與-g選項不沖突的優化選項,當然就能提供合理的優化水平,同時產生較好的可調試信息和對語言標準的遵循程度。

轉載于:https://www.cnblogs.com/linhaostudy/p/7204477.html

總結

以上是生活随笔為你收集整理的GCC编译选项 -OX[转]的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产精品一亚洲av日韩av欧 | 亚州精品国产精品乱码不99按摩 | 射射色 | 91成人在线免费观看 | 污污网站在线观看视频 | 国产精品视频在线观看 | 久久五月激情 | 人妻精品久久久久中文字幕 | 亚洲gay视频 | av在线免费播放网址 | 99视频热| 久久激情免费视频 | 精品少妇人妻av免费久久洗澡 | 91精品国产一区二区无码 | 国产九色 | 免费在线视频观看 | 欧美熟妇7777一区二区 | 日本久久久久久久久久久 | 天天精品视频 | 国产精品短视频 | 亚洲视频一区二区三区四区 | 亚洲剧情在线 | 日本少妇18p | 亚洲综合无码一区二区 | 我我色综合 | 伊人快播| 麻豆videos| 秋霞国产午夜精品免费视频 | 精品久久在线观看 | 欲求不满在线小早川怜子 | 男女被到爽流尿 | n0659极腔濑亚美莉在线播放播放 | 久热色 | 俺也去婷婷 | 成人在线精品 | 极品少妇网站 | 久久免费片| 秋霞av鲁丝片一区二区 | 亚洲国产一区二区在线观看 | 日本免费在线观看 | 亚洲欧洲国产视频 | 人妻少妇被猛烈进入中文字幕 | 欧美大片在线免费观看 | 97在线免费观看 | 免费看爱爱视频 | 国产免费黄色网址 | 福利视频99 | 综合精品视频 | 欧美精品黄色 | 韩国三级一区 | 热热久| 婷婷91 | 亚洲美女福利视频 | 天天插夜夜操 | 国产一区二区三区免费 | 韩国久久久 | 人妻少妇偷人精品无码 | 欧美图片第一页 | 成年人午夜 | 国产乱轮视频 | 亚洲精品鲁一鲁一区二区三区 | 全部免费毛片在线播放 | 国产精品久久久久久吹潮 | 美女国产精品 | 免费黡色av | 中文字幕在线免费播放 | 久久国产福利一区 | 97色在线 | 亚洲无线观看 | 2一3sex性hd | 欧美午夜三级 | 18禁裸乳无遮挡啪啪无码免费 | 国产精品av一区二区 | 性巴克成人免费网站 | 色男人影院| 国产精品麻豆欧美日韩ww | 岛国av一区二区三区 | 国产91精品久久久久久久网曝门 | 一区二区三区中文字幕在线观看 | 成人免费无遮挡无码黄漫视频 | 美女啪啪动态图 | 日韩一二区 | 污的网站 | 影音先锋男人站 | 国产色自拍| 日本不卡在线视频 | 岳乳丰满一区二区三区 | 六月婷婷激情 | 亚洲欧洲av在线 | 成人视屏在线 | 欧美精品一区二区三区在线 | 中文字幕一区二区人妻在线不卡 | 另类ts人妖一区二区三区 | 免费一级一片 | 国产97色 | 久热av在线| 国产另类综合 | 国产麻豆一区二区三区 | 97成人精品 |