[STM8] 有没有办法让编译器提出警告或错误?

[复制链接]
491|12
 楼主| chenjunt 发表于 2020-5-19 22:46 | 显示全部楼层 |阅读模式
IAR EWSTM8变量重复定义
软件突然出问题,后来查了代码,发现有个变量在同一个文件中定义了两次,而且定义语句完全一样....,貌似编译器把他们看成两个变量了

奇怪的是,EWSTM 没有提示错误或警告,有没有办法让编译器提出警告或错误?
gongche 发表于 2020-5-19 22:52 | 显示全部楼层
有个变量在同一个文件中定义了两次,要看定义的位置了,有时候就不会被报错。
huwr 发表于 2020-5-19 22:54 | 显示全部楼层

编译器把它们合并了吧?
huanghuac 发表于 2020-5-19 22:58 | 显示全部楼层
把局部变量定义跟全局变量一样的名字又不会报错的,这是允许的
happy_10 发表于 2020-5-19 23:01 | 显示全部楼层

如果是两个完全一样的定义,编译器估计就当一个处理了,如果定义成两个不同类型的,那肯定报错的
 楼主| chenjunt 发表于 2020-5-19 23:06 | 显示全部楼层
两个定义语句完全一样,中间隔了几个其它变量定义。没有当成一个,是前面一个当全局,后面一个当局部,所以 编译器当成了两个 不同的变量
songqian17 发表于 2020-5-19 23:09 | 显示全部楼层
呵呵,解决了就好啊,很有效率的嘛
lium 发表于 2020-5-19 23:14 | 显示全部楼层

是的有时候自己会犯这种错误
llia 发表于 2020-5-19 23:17 | 显示全部楼层
这就是重定义,第一次定义后,就执行这个变量。
langgq 发表于 2020-5-19 23:20 | 显示全部楼层
当执行到第二次定义这个变量就等于换了身份了。
wangzsa 发表于 2020-5-19 23:24 | 显示全部楼层
编程基础不过关
gongche 发表于 2020-5-19 23:27 | 显示全部楼层
这都是细致活
 楼主| chenjunt 发表于 2020-5-19 23:30 | 显示全部楼层
嗯,预料中的结果,多谢大家啦
您需要登录后才可以回帖 登录 | 注册

本版积分规则

718

主题

7868

帖子

5

粉丝
快速回复 在线客服 返回列表 返回顶部