Snail 发表于 2016-7-29 20:38:41

IAR编译警告:integer operation result is out of range

IAR编译的时候报了一个warning:integer operation result is out of range(图1),即:整型运算的结果不在运算范围内。


看一下这个函数的原型:WDT_IF_Init(图2),第二个入参的类型为:unsigned int,也就是无符号整形,那么代码中的: 80000000*40,俩个常数相乘做入参提示结果不在运算范围内,原因是什么?



原因:IAR默认常数是int型,两个有符号数相乘得到是有符号数,有符号数的最左边位是符号位。正确的入参方式是常数后加u:80000000u * 40u,再跑一下运算结果(图3)




图1


图2


图3

CC3200_初学者 发表于 2016-12-6 15:27:18

兄弟 cc3200可以用了吗有官方的SDK吗
页: [1]
查看完整版本: IAR编译警告:integer operation result is out of range