很多使用過Keil MDK的工程師都發(fā)現(xiàn)了一個問題,Keil MDK編譯代碼的時候,速度很慢。 編譯速度慢有幾個原因:
編譯器
代碼量大小
工程配置(生成信息)
其中工程配置中生成信息包含多種,打開工程選項卡就能看見。Project -> Options for Target -> Output / Listing:
這里面有很多信息都會影響編譯速度,其中生成瀏覽信息(Browse Information),下面就來講講關(guān)于瀏覽信息的內(nèi)容。
嵌入式專欄
1
關(guān)于Keil瀏覽信息
Keil中瀏覽信息,就是我們平時編輯調(diào)試時,右鍵(或者F12快捷鍵)使用Go To Definition xxx時所需要瀏覽的代碼信息:
需要在工程配置中勾選生成瀏覽信息才能正常使用該功能:
生成瀏覽信息會比較影響編譯速度,同時在Objects(OutPut配置輸出路徑)文件夾下面會多出*.crf文件(瀏覽信息文件)。 關(guān)于Keil MDK中各種文件的描述,可以參看我的文章:Keil系列教程10_文件類型及相關(guān)描述。
嵌入式專欄
2
AC5與AC6生成瀏覽信息的差異
Keil MDK編譯器默認(rèn)是使用Arm Compiler(簡稱AC),目前主流的就是AC5和AC6.
之前也給大家分享過關(guān)于AC5和AC6的文章:
全面認(rèn)識ARM編譯器AC6.12Keil MDK 編譯器 AC5 和 AC6 優(yōu)化選項重要內(nèi)容和區(qū)別
其實AC5和AC6還真有很多地方不同,之前使用AC5的代碼工程,很多地方都存在兼容性問題。
1.AC5和AC6生成瀏覽信息速度不同
如果不生成瀏覽信息(不勾選),AC5的編譯速度其實也不算慢。
但是,一般情況下,軟件開發(fā)工程師為了方便編輯和調(diào)試代碼,一般都會生成瀏覽信息。
AC5和AC6明顯的區(qū)別就是編譯速度上差異很大,AC6即使生成瀏覽信息,在編譯的時候,速度相比AC5快很多。
而且代碼量也有差異:
2.AC5和AC6生成瀏覽信息方式不同
如果你使用過AC6,你會發(fā)現(xiàn):在不用編譯的情況下,可以直接Go To Definitionxxx瀏覽代碼。
比如:你直接使用STM32CubeMX配置生成Keil MDK的代碼,修改配置,使用AC6編譯器,你會發(fā)現(xiàn)不用編譯就可以直接Go To Definition。
當(dāng)然,前提你要配置使用AC6編譯器:
還有,AC6生成瀏覽信息是在后臺自動完成的,可能需要等待幾秒鐘或者更長時間(與你電腦配置有關(guān))。
責(zé)任編輯:xj
原文標(biāo)題:Keil MDK使用編譯器AC5與AC6生成瀏覽信息的差異
文章出處:【微信公眾號:strongerHuang】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
-
keil
+關(guān)注
關(guān)注
68文章
1210瀏覽量
166575 -
編譯器
+關(guān)注
關(guān)注
1文章
1617瀏覽量
49015 -
MDK
+關(guān)注
關(guān)注
4文章
208瀏覽量
32009
原文標(biāo)題:Keil MDK使用編譯器AC5與AC6生成瀏覽信息的差異
文章出處:【微信號:strongerHuang,微信公眾號:strongerHuang】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論