【问题标题】:How do I resolve a issue related to IAR Embedded Workbench ARM library header file for successfully running PC-Lint in IAR?如何解决与 IAR Embedded Workbench ARM 库头文件相关的问题,以便在 IAR 中成功运行 PC-Lint?
【发布时间】:2023-03-11 16:47:01
【问题描述】:

当我在 IAR Workbench 上的代码上运行 PC-Lint 时,它与库头文件 yvals.h 中存在的代码 sn-p 冲突,我将其包含在下面,然后 PC-Lint 停止工作。

/* IAR compiler version check */
#if (__IAR_SYSTEMS_ICC__ < 9) || (__IAR_SYSTEMS_ICC__ > 9)
  #error "DLib compiled with wrong (version of IAR) compiler"
#endif

我使用的 IAR 编译器版本是co-iar.lnt。我从 PC-Lint 配置文件中选择了这个编译器版本。

【问题讨论】:

    标签: iar pc-lint


    【解决方案1】:

    IAR 编译器在内部定义了各种预处理器符号(如__IAR_SYTEMS_ICC),PC-Lint 在您的设置中不知道这些符号。幸运的是,您可以使用命令行选项--predef_macros iar_symbols.h 指示 IAR 编译器生成包含所有这些符号的文件。您可以在Project &gt; Options &gt; Compiler &gt; Extra Options 下的任何 Embedded Workbench 项目中添加此选项。编译项目后,将生成文件 iar_symbols.h。之后,您可以再次从项目中删除 --predef_macros 选项。

    现在您需要通过在 PC-Lint 命令行中添加选项 -header(iar_symbols.h) 来指示 PC-Lint 读取生成的文件。这应该可以解决您的问题。

    请注意,预定义符号列表取决于使用的编译器版本。如果您对不同的项目使用不同的 IAR 编译器版本,您应该为每个编译器版本生成一个 iar_symbols.h 标头。

    【讨论】:

      猜你喜欢
      • 2013-06-21
      • 2012-06-09
      • 2013-10-20
      • 1970-01-01
      • 1970-01-01
      • 2023-02-22
      • 2021-01-10
      • 1970-01-01
      • 2018-03-08
      相关资源
      最近更新 更多