语境:
我正在尝试使用 Keil 自动化嵌入式开发中的一些更平凡的任务。我的目标是在 Keil 项目中单击构建将运行一个预构建步骤,该步骤通过 Uncrustify(源代码美化器)运行所有代码,以确保它符合公司风格指南和帖子-build 步骤,然后通过 pc-lint(静态代码分析器)运行代码以突出显示它可能找到的任何潜在不安全代码。我编写了一个 PC 实用程序,它在 .uvproj 文件中搜索#define 宏、包含路径和文件路径,所有这些都是这两个工具所需的,然后修改构建前和构建后的用户命令以调用我的批处理文件将管理这两个步骤。uncrustify 部分工作正常, lint 部分正在产生一些明智的消息,
我的问题:
Lint 不断产生似乎与 Keil 编译器知道的宏相关的消息,但 Lint 不知道。我正试图找到一种方法来填补这个空白。我在 Keil 网站上找到了一个预定义宏表,这似乎是一个好的开始,但与其手动将它们复制到静态 .lnt 文件中,我想找到一种获取最新值的方法在项目建成时。这样,例如,每当开发人员更新他/她的 Keil 编译器时,都会更新“__ARMCC_VERSION”宏,而不是在我手动复制它时卡在某个时间点。
如果有人可以直接回答我的问题,我会很高兴,但如果有人对我可以尝试的更直接的替代方法提出可行的建议,我会同样高兴。非常感谢!