脚本大放送:SourceInsight 快速、精确导入 IAR/MDK 工程源码

其实这个脚本很早之前就在阿莫论坛发布了,起因就是某个项目的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了。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Linux习惯问题: 在vim编辑时,按了ctrl + s后,再按ctrl + q就可以继续执行了。ctrl + ...
    光着脚的鞋阅读 4,557评论 0 16
  • 第 2 章 SHELL 基础知识2.1 shell脚本我们在上面简单介绍了一下什么是shell脚本,现在我们来进一...
    LiWei_9e4b阅读 1,600评论 0 0
  • 第一章:编译和安装SCons第二章:简单编译第三章:编译相关的一些事情第四章:编译和链接库文件第五章:节点对象第六...
    仙灵儿阅读 12,098评论 0 3
  • pyspark.sql模块 模块上下文 Spark SQL和DataFrames的重要类: pyspark.sql...
    mpro阅读 9,547评论 0 13
  • 解决方式一 而在axios中的post请求要非常注意: 要设置合适的请求头,一般采用x-www-form-urle...
    思议岁月阅读 15,108评论 0 0