硬汉嵌入式论坛

 找回密码
 立即注册
查看: 3474|回复: 4
收起左侧

[IAR] 有没有编译器选项能提示enum有值相同的成员?

[复制链接]

210

主题

1044

回帖

1684

积分

至尊会员

More we do, more we can do.

积分
1684
发表于 2021-4-14 16:58:45 | 显示全部楼层 |阅读模式
本帖最后由 emwin 于 2021-4-14 17:00 编辑

配置工具生成的代码里枚举的引入了问题,枚举数量很多预留的enum段可用值不够,2段跨界,产生问题。
想通过编译选项或代码,比如BuildBugOn,在编译时检测出来,请教怎么实现?

EX:
enum{
SECTOR1_START = 0x0100,
...
SECTOR2_START = 0x0200,
};

比如Sector1随着元素增加,超过了0x100,到了Sector2的范围,出现了重叠。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106934
QQ
发表于 2021-4-15 08:45:12 | 显示全部楼层
这种的最好上位机可配置。

让编译器去解决不太好整。
回复

使用道具 举报

7

主题

125

回帖

146

积分

初级会员

积分
146
发表于 2021-4-15 14:47:39 | 显示全部楼层
编译器似乎没这个功能,而且有时候就是需要枚举值一样,名称不一样
回复

使用道具 举报

210

主题

1044

回帖

1684

积分

至尊会员

More we do, more we can do.

积分
1684
 楼主| 发表于 2021-4-15 15:24:59 | 显示全部楼层
找到几个解决思路,有的简单有的复杂,至少代码静态检查时支持的:
1. https://stackoverflow.com/questi ... s-map-to-same-value
2. https://wiki.sei.cmu.edu/conflue ... ap+to+unique+values
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106934
QQ
发表于 2021-4-16 07:01:21 | 显示全部楼层
emwin 发表于 2021-4-15 15:24
找到几个解决思路,有的简单有的复杂,至少代码静态检查时支持的:
1. https://stackoverflow.com/questio ...

谢谢分享。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-10 17:23 , Processed in 0.158258 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表