其實這個腳本很早之前就在阿莫論壇發(fā)布了桩盲,起因就是某個項目的SDK很大,結(jié)構(gòu)多席吴、路徑深赌结,使用source insight看代碼的時候總是提示多處定義,效率很低孝冒,然后便有了這個腳本柬姚。前段時間將腳本完善了一下,在此記錄一下實現(xiàn)方法庄涡,藉此希望更多的朋友提出建議量承。獲取地址點這里!Qǖ辍撕捍!
使用方法
將腳本放在工程文件(.uvproj、.uvprojx泣洞、.eww)所在的路徑下忧风,編譯工程后運行一下腳本(一晃而過就是成功了,停下來的話就會看到錯誤提示)球凰,得到一個.txt文件狮腿,然后在source insight打開下圖中的對話框该窗,點擊紅框按鈕導(dǎo)入剛剛得到的*.txt文件即可。
解析方法
按腳本里的注釋蚤霞,整個過程大概可以分為3個階段:
- 1酗失、找到工程編譯生成的dep文件;
這個dep文件就包含了工程里添加的源文件和頭文件昧绣,keil4和keil5生成的地方不一樣规肴,所以區(qū)分查找。 - 2夜畴、解析dep文件拖刃;
IAR生成的dep文件其實是xml格式,調(diào)用xml模塊來解析便好贪绘,而keil生成的則是另一個格式兑牡,源文件和頭文件這些都有特定的格式,所以直接用正則表達式一行行的解析該文件税灌,找到特定的格式就OK均函; - 3、將解析*dep文件得到的源文件和頭文件的路徑保存成txt文件菱涤,這樣就能讓source insight導(dǎo)入了苞也。
待完善的地方
IAR生成的*dep文件里,IDE安裝路徑下的頭文件路徑都是以TOOLKIT_DIR開頭粘秆,但是這個路徑我找了很久都沒有找到在哪設(shè)置的如迟。所以才用了一個笨辦法,就是搜索IAR的默認(rèn)安裝路徑(如果沒找到則手動輸入)攻走,然后再確定TOOLKIT_DIR了殷勘。