You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

IAR 8.40使用二进制字面量定义枚举出现Error[Pe067]报错问题

IAR 8.40下0b开头二进制字面量编译报错问题解答

报错原因

0b前缀的二进制整数字面量不属于C99及更早版本的C语言标准规范,它最初是GCC、Clang等编译器推出的非标准扩展特性,直到2022年发布的C23标准才被正式纳入官方语法。
IAR EWARM 8.40默认采用C99标准进行编译,且默认关闭GNU兼容扩展,因此无法识别0b前缀的字面量写法,将其判定为非法符号,最终抛出语法错误。

配置IAR支持二进制字面量的方法

你可以通过修改编译配置解决该问题,可选方案如下:

  • 开启GNU扩展兼容:打开工程选项,依次进入General Options → Language标签页,将C dialect下拉项设置为GNU extensions,保存后重新编译即可识别0b前缀的二进制字面量。
  • 升级C标准:如果你的IAR版本支持C23标准,可将C dialect设置为对应C23选项,即可原生支持二进制字面量语法。

内容的提问来源于stack exchange,提问作者Dmitry Groker

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 22:06:03