使用IAR编译时使用2个volatile变量在同一语句时出如下警告
Warning[Pa082]: undefined behavior: the order of volatile accesses is undefined in this statement
查资后得知大体原因:volatile变量一般使用在多线程等场合,如果同一语句使用2个此变量,会出现访问顺序不可预知的后果,所以要解决此问题可以把其中一个先读取存放到一个局部变量中,再和另一个进行运算
转载请注明http://www.cdle.net
Warning[Pa082]: undefined behavior: the order of volatile accesses is undefined in this statement
查资后得知大体原因:volatile变量一般使用在多线程等场合,如果同一语句使用2个此变量,会出现访问顺序不可预知的后果,所以要解决此问题可以把其中一个先读取存放到一个局部变量中,再和另一个进行运算
转载请注明http://www.cdle.net
本文探讨了在IAR编译器中使用两个volatile变量时出现的警告问题,详细解释了这一现象背后的原因,并提供了解决方案,即通过引入局部变量来避免访问顺序的不确定性。
2761

被折叠的 条评论
为什么被折叠?



