其实这个脚本很早之前就在阿莫论坛发布了,起因就是某个项目的SDK很大,结构多、路径深,使用source insight看代码的时候总是提示多处定义,效率很低,然后便有了这个脚本。前段时间将脚本完善了一下,在此记录一下实现方法,藉此希望更多的朋友提出建议。获取地址点这里!!!
使用方法
将脚本放在工程文件(.uvproj、.uvprojx、.eww)所在的路径下,编译工程后运行一下脚本(一晃而过就是成功了,停下来的话就会看到错误提示),得到一个.txt文件,然后在source insight打开下图中的对话框,点击红框按钮导入刚刚得到的*.txt文件即可。
解析方法
按脚本里的注释,整个过程大概可以分为3个阶段:
- 1、找到工程编译生成的dep文件;
这个dep文件就包含了工程里添加的源文件和头文件,keil4和keil5生成的地方不一样,所以区分查找。 - 2、解析dep文件;
IAR生成的dep文件其实是xml格式,调用xml模块来解析便好,而keil生成的则是另一个格式,源文件和头文件这些都有特定的格式,所以直接用正则表达式一行行的解析该文件,找到特定的格式就OK; - 3、将解析*dep文件得到的源文件和头文件的路径保存成txt文件,这样就能让source insight导入了。
待完善的地方
IAR生成的*dep文件里,IDE安装路径下的头文件路径都是以TOOLKIT_DIR开头,但是这个路径我找了很久都没有找到在哪设置的。所以才用了一个笨办法,就是搜索IAR的默认安装路径(如果没找到则手动输入),然后再确定TOOLKIT_DIR了。
网友评论