打印

关于IAR编译器volatile警告问题

[复制链接]
14143|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
colaring|  楼主 | 2008-10-23 15:20 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
4.42a 发现同时使用2个以上volatile运算时就会出现如下警告:
Warning[Pa082]: undefined behavior: the order of volatile accesses is undefined in this statement 

例如:
vu8 a,b;
u8 c;

void XXXX()
{
   c=a+b;
........
}

就会出现这个警告,

临时解决办法是:
void XXXX()
{
   u8 buf;

   buf=a;
   c=buf+b;
........
}
这样就OK了,可是现在的系统较为复杂,这么一个一个折腾不太可能,各位大侠遇到这问题怎么搞定的?教教小弟:-)
沙发
black_wolf| | 2008-10-24 13:30 | 只看该作者

没什么办法

下回编程时注意下吧,如果系统没问题,就不用理会这个警告了

使用特权

评论回复
板凳
colaring|  楼主 | 2008-10-27 09:20 | 只看该作者

~

有啥办法,知道的大侠冒个泡

使用特权

评论回复
地板
sunboyyb| | 2013-6-21 16:22 | 只看该作者
我也遇到同样的问题,说在设置里修改,可是找不到地方

使用特权

评论回复
5
Larm1| | 2017-3-29 15:33 | 只看该作者
sunboyyb 发表于 2013-6-21 16:22
我也遇到同样的问题,说在设置里修改,可是找不到地方

解决方式见帖子:
IAR7下同时使用两个volatile报警问题解决方式

使用特权

评论回复
6
dzfansman| | 2017-3-29 21:13 | 只看该作者
这个在keil怎么没有什么问题

使用特权

评论回复
7
dzfansman| | 2017-3-29 21:20 | 只看该作者
以前用过IAR的时候使用valotile定义的。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

44

主题

156

帖子

1

粉丝