人妻蜜と1~4中文字幕月野定规 ,国产精品成人va在线播放,色优久久久久综合网鬼色,WWW插插插无码视频网站

【Greenhills】GHS-S32DS集成GHS編譯器優(yōu)化等級(jí)設(shè)置

1、 文檔目標(biāo)


記錄在NXP的開(kāi)源環(huán)境S32DS中GHS編譯器優(yōu)化等級(jí)的查看和設(shè)置。后續(xù)節(jié)約解決客戶問(wèn)題所花費(fèi)的時(shí)間。


2、 問(wèn)題場(chǎng)景


客戶咨詢編譯優(yōu)化問(wèn)題,他們?cè)赟32 Design Studio中調(diào)用GHS的編譯器,以便減少授權(quán)的占用時(shí)間。他們不了解如何查看和設(shè)置GHS編譯器的優(yōu)化等級(jí)。


3、軟硬件環(huán)境


1)、軟件版本:S32 Design Studio

2)、電腦環(huán)境:Windows 11

3)、外設(shè)硬件:無(wú)


4、解決方法


1)、打開(kāi)S32DS,選中項(xiàng)目點(diǎn)擊右鍵,選中“Properties”,進(jìn)入設(shè)置界面。



圖4-1

2)、進(jìn)入“Properties for test”,選擇“C/C++Build” -->"Settings"-->"Optimization",在 Optimization Strategy框內(nèi),選擇相應(yīng)的優(yōu)化等級(jí)進(jìn)行使用。


圖4-2-1

可以通過(guò)下面的表格去選擇符合自己需求的優(yōu)化等級(jí)。(該表格是以-Onone優(yōu)化等級(jí)為基準(zhǔn)來(lái)評(píng)定?!?”:表示相對(duì)于-Onone有所提升,”-”:表示相對(duì)于-Onone有所降低,”=”:表示相對(duì)于-Onone沒(méi)有變化)


Automatic Vector Optimization:控制矢量?jī)?yōu)化。如果沒(méi)有選擇優(yōu)化策略,該選項(xiàng)還啟用-Ospeed。

Default Optimization Level:控制程序的整體優(yōu)化配置文件。


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

隱含 -Ogeneral -frigor=fast -delete .

Optimize for Speed (-O2) :為速度優(yōu)化構(gòu)建。

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

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

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

Optimize for Size (-Os) :根據(jù)大小優(yōu)化構(gòu)建。

隱含 -Osize -Omax -frigor=fast -delete .
Optimize for Additional Size (-Oz):針對(duì)大小進(jìn)行優(yōu)化構(gòu)建,使用額外的優(yōu)化來(lái)改進(jìn)啟用的大小。

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

Optimize for Improved Debugging (-Og):優(yōu)化改進(jìn)的調(diào)試,意味著- Omoredebug。

在使用此優(yōu)化級(jí)別時(shí),可以將命令行優(yōu)化策略設(shè)置為-Odebug、-Omoredebug或-Omaxdebug。

Default Optimization Level (-Od) :刪除任何當(dāng)前優(yōu)化級(jí)別,并將工具鏈返回到默認(rèn)優(yōu)化狀態(tài)。

在使用此優(yōu)化級(jí)別時(shí),可以將命令行優(yōu)化策略設(shè)置為任何值。

No Optimizations (-O0):沒(méi)有優(yōu)化,禁用構(gòu)建的優(yōu)化。

隱含 -Onone


Intermodule Inlining:啟用兩次內(nèi)聯(lián)。如果沒(méi)有選擇優(yōu)化策略,該選項(xiàng)還啟用-Ospeed。


Interprocedural Optimizations:

Wholeprogram Interprocedural Optimizations(-Owholeprogram):?jiǎn)⒂萌绦騼?yōu)化可以在高水平上分析程序控制和數(shù)據(jù)流。執(zhí)行了速度和大小優(yōu)化,例如一個(gè)調(diào)用站點(diǎn)內(nèi)聯(lián),過(guò)程間常量傳播和死代碼消除,以及過(guò)程間別名分析。這個(gè)選項(xiàng)可以同時(shí)提高程序的速度和大小。如果沒(méi)有選擇優(yōu)化策略,則該選項(xiàng)啟用-ospeed


Standard Interprocedural Optimizations(-Ointerproc)啟用過(guò)程間優(yōu)化允許基于被調(diào)用函數(shù)的知識(shí)進(jìn)行優(yōu)化,例如過(guò)程間別名分析。與 -Owholeprogram不同,-Ointerproc不要求整個(gè)程序在編譯期間可用。然而,-Owholeprogram優(yōu)化的一個(gè)嚴(yán)格子集應(yīng)用于-Ointerproc。如果沒(méi)有選擇優(yōu)化策略,該選項(xiàng)啟用-Ospeed。


Analysis Without Optimizations(-Oip_analysis_only)執(zhí)行過(guò)程間分析,但不應(yīng)用任何優(yōu)化。


Off( -Onoipa)[默認(rèn)]禁用所有過(guò)程間優(yōu)化。

Linker Optimizations:控制鏈接器優(yōu)化中列出的鏈接器優(yōu)化。

On(-Olink)根據(jù)您的整體優(yōu)化策略啟用某些鏈接器優(yōu)化。許多這些優(yōu)化都會(huì)對(duì)代碼進(jìn)行復(fù)雜的更改。這些更改可能會(huì)減慢鏈接階段,產(chǎn)生更難調(diào)試的代碼,或者有其他缺點(diǎn)。若要禁用單個(gè)鏈接器優(yōu)化,請(qǐng)將其與此選項(xiàng)一起設(shè)置為“關(guān)閉”。

啟用 -Olink 隱含-delete和-uvfd。此外,如果啟用了-Osize,則啟用-Olink會(huì)隱式啟用-codefactor。在構(gòu)建共享對(duì)象時(shí),這可能導(dǎo)致無(wú)法解析的符號(hào)。

Off (-Onolink)[默認(rèn)]


注意:設(shè)置-Olink可能會(huì)導(dǎo)致DWARF調(diào)試信息與內(nèi)存中的程序不同步。


【更多軟件使用問(wèn)題請(qǐng)站內(nèi)搜索或關(guān)注B站:億道電子查看視頻教學(xué)】


優(yōu)化等級(jí)編程和調(diào)試能力代碼內(nèi)存優(yōu)化編譯速度執(zhí)行速度
-Onone====
-Ospeed- - -+ + +- - -+ + + + +
-Osize- -+ + + + +- -+ + +
-Ogeneral- -+ + + +- -+ + + +
-Odebug=+ +-+ +
-Omoredebug+ ++-+
-Omaxdebug+ + +-=-