Polyspace使用diab编译器分析_Bool报错

最近随着项目上用户环境,遇到一些程序跑飞的情况,对底层代码的测试之前一直很不充分(主要做完模型仿真测试,除了一些如驱动、故障诊断、转速同步等重要功能会单独做验证,就直接上HiL了,自动化耐久也才刚开始做,发现的问题有限),准备先用Polyspace来分析下。但发生了一个意想不到的问题。

在我们的typedef.h文件里,第87行自定义了_Bool类型,为无符号8位。
在这里插入图片描述
在Polyspace(2016b)中配置的编译器与项目一致,为diab+PowerPC。
在这里插入图片描述
但是分析时发现会报如下编译错误:
在这里插入图片描述
经过查阅,发现从C99标准开始,C语言中新增了布尔类型,名字正好为“_Bool”,所以怀疑是因为与保留字冲突导致。
于是勾选了下面这个选项,按C90标准编译。
在这里插入图片描述
但是问题依旧存在,然后和集成工程师看了下项目上编译代码的指令,没有发现特别的关于这方面的配置。
更换Polyspace中其他编译器分析,结果如下:

  • GUN,不勾选C90标准选项,也不会报错
  • Keil,不勾选C90标准选项,会报同样的错;但勾选了C90后就不报错了
  • Visual,不勾选C90标准选项,也不会报错
  • Clang, 不勾选C90标准选项,也不会报错
  • iar,不勾选C90标准选项,会报同样的错;但勾选了C90后就不报错了
  • iso,不勾选C90标准选项,会报同样的错;但勾选了C90后就不报错了

同样用Polyspace2018b分析也是这个结果。
在Matlab Answers提交了该问题,尚处于Open状态。Matlab Answers问题链接

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值