男人的天堂AV亚洲一区2区|精品乱码久久久久久久一|国产成人综合久久精品推不卡|99国产精品99久久|国产精品亚洲v三区防屏蔽|a级黄色大片在线观看视频男男|在线播放视频国产区中文|国产三级激情在线视频

JNH官网

【Greenhills】GHS-S32DS集成GHS編譯器優化等級設置

1、 文檔目標


記錄在NXP的開源環境S32DS中GHS編譯器優化等級的查看和設置。后續節約解決客戶問題所花費的時間。


2、 問題場景


客戶咨詢編譯優化問題,他們在S32 Design Studio中調用GHS的編譯器,以便減少授權的占用時間。他們不了解如何查看和設置GHS編譯器的優化等級。


3、軟硬件環境


1)、軟件版本:S32 Design Studio

2)、電腦環境:Windows 11

3)、外設硬件:無


4、解決方法


1)、打開S32DS,選中項目點擊右鍵,選中“Properties”,進入設置界面。



圖4-1

2)、進入“Properties for test”,選擇“C/C++Build” -->"Settings"-->"Optimization",在 Optimization Strategy框內,選擇相應的優化等級進行使用。


圖4-2-1

可以通過下面的表格去選擇符合自己需求的優化等級。(該表格是以-Onone優化等級為基準來評定。”+”:表示相對于-Onone有所提升,”-”:表示相對于-Onone有所降低,”=”:表示相對于-Onone沒有變化)


Automatic Vector Optimization:控制矢量優化。如果沒有選擇優化策略,該選項還啟用-Ospeed。

Default Optimization Level:控制程序的整體優化配置文件。


Optimize for Speed and Size (-O1):優化構建的速度和大小,避免優化犧牲一個為另一個。

隱含 -Ogeneral -frigor=fast -delete .

Optimize for Speed (-O2) :為速度優化構建。

隱含 -Ospeed -Omax -OV -OI -Olink -frigor=fast.

Optimize for Additional Speed (-O3): 優化構建速度,與額外的優化,以提高速度啟用。

隱含 -Ospeed -Omax -OV -OI -OB -Ointerproc -Olink -frigor=fast.

Optimize for Size (-Os) :根據大小優化構建。

隱含 -Osize -Omax -frigor=fast -delete .
Optimize for Additional Size (-Oz):針對大小進行優化構建,使用額外的優化來改進啟用的大小。

隱含 -Osize -Omax -Olink -Ointerproc -frigor=fast.

Optimize for Improved Debugging (-Og):優化改進的調試,意味著- Omoredebug。

在使用此優化級別時,可以將命令行優化策略設置為-Odebug、-Omoredebug或-Omaxdebug。

Default Optimization Level (-Od) :刪除任何當前優化級別,并將工具鏈返回到默認優化狀態。

在使用此優化級別時,可以將命令行優化策略設置為任何值。

No Optimizations (-O0):沒有優化,禁用構建的優化。

隱含 -Onone


Intermodule Inlining:啟用兩次內聯。如果沒有選擇優化策略,該選項還啟用-Ospeed。


Interprocedural Optimizations:

Wholeprogram Interprocedural Optimizations(-Owholeprogram):啟用全程序優化可以在高水平上分析程序控制和數據流。執行了速度和大小優化,例如一個調用站點內聯,過程間常量傳播和死代碼消除,以及過程間別名分析。這個選項可以同時提高程序的速度和大小。如果沒有選擇優化策略,則該選項啟用-ospeed


Standard Interprocedural Optimizations(-Ointerproc)啟用過程間優化允許基于被調用函數的知識進行優化,例如過程間別名分析。與 -Owholeprogram不同,-Ointerproc不要求整個程序在編譯期間可用。然而,-Owholeprogram優化的一個嚴格子集應用于-Ointerproc。如果沒有選擇優化策略,該選項啟用-Ospeed。


Analysis Without Optimizations(-Oip_analysis_only)執行過程間分析,但不應用任何優化。


Off( -Onoipa)[默認]禁用所有過程間優化。

Linker Optimizations:控制鏈接器優化中列出的鏈接器優化。

On(-Olink)根據您的整體優化策略啟用某些鏈接器優化。許多這些優化都會對代碼進行復雜的更改。這些更改可能會減慢鏈接階段,產生更難調試的代碼,或者有其他缺點。若要禁用單個鏈接器優化,請將其與此選項一起設置為“關閉”。

啟用 -Olink 隱含-delete和-uvfd。此外,如果啟用了-Osize,則啟用-Olink會隱式啟用-codefactor。在構建共享對象時,這可能導致無法解析的符號。

Off (-Onolink)[默認]


注意:設置-Olink可能會導致DWARF調試信息與內存中的程序不同步。


【更多軟件使用問題請站內搜索或關注B站:查看視頻教學】


優化等級編程和調試能力代碼內存優化編譯速度執行速度
-Onone====
-Ospeed- - -+ + +- - -+ + + + +
-Osize- -+ + + + +- -+ + +
-Ogeneral- -+ + + +- -+ + + +
-Odebug=+ +-+ +
-Omoredebug+ ++-+
-Omaxdebug+ + +-=-


jnh官網 jnh官網 jnh官網 jnh官網 金年會 金年會 金年會 金年會