支持概述

支持的编译器

有关受支持的 IAR EW430(MSP430 的嵌入式工作台)编译器/环境版本的信息,请参阅 编译器

导入项目

您可以使用 cpptesttrace 实用程序导入项目。有关更多信息,请参阅导入项目

支持组件

提供以下组件以方便测试 IAR Embedded Workbench 项目:

已知局限性

不完全支持将 IAR 内存属性放在指针声明之前。在以下示例中, 声明 A 和类似书写的声明将被分析,就好像它们像 声明 B一样编写:

声明 A

         

声明 B


此限制影响具有以下配置的项目:

以下声明被正确处理,可以用来代替上面提到的不受支持的构造:

为什么在链接期间可能会删除用户库

C++test 使用选项过滤机制在链接命令行中用检测对象替换原始用户对象。在 ELF 和 COFF 等格式中,对象和库文件扩展名默认不同(.o/.a、.obj/.lib),C++test 依赖这些扩展名正确清空选项过滤机制。然而,UBROF 库和目标文件默认具有相同的扩展名 (.r??),这导致 C++test 从链接命令行中删除库。通过引入基于观察到的系统化命名约定 (dl430*.r43) 的选项过滤模式,系统库解决了这个问题。但是,用户库仍被删除。

防止库在链接期间被删除

 这个问题有两种解决方案: 

  1. 右键单击该项目并选择属性> Parasoft> C++test>构建设置 并在选项部分的链接器 选项 字段中手动添加您的库(推荐)。
  2. 建立库命名方案(扩展名或名称模式)并创建自定义编译器配置。

如果您选择选项 #2,请将以下选项过滤规则插入到 c/cpp.psrc 文件中: 

edgtk.optionConfig name=*<your_pattern> regexp=true casesensitive=false tags=linker 

在这之前 

edgtk.optionConfig name=*.r43 regexp=true casesensitive=false

tags=linker,excludable,object_file

此问题也适用于外部构建的 C++test 运行时库。要了解有关自定义编译器的更多信息,请参阅使用交叉编译器配置测试