#550
例:#550-D: variable “d” was set but never used
说明:变量’d’定义但从未使用,或者是,虽然这个变量你使用了,但编译器认为变量d所在的语句没有意义,编译器把它优化了.
解决方法:如果你确实需要这个变量,在定义时加上volatile
关键字,以明确告诉编译器不要优化它。
另外,有时程序中先写了一个变量,但确实还没有用(就像有时我们会写空函数或者一个函数中有时不需要某个参数),可以用(void)variable;
的方式明确的消除编译器警告。毕竟,遗留任何警告信息都是不好的。
#223
说明:函数没有声明,需要引用头文件或者添加函数声明
#186
原型:if (tt>=0&& tt<=2)
解释:无符号整形和0的无意义比较
这是一个潜在问题,判断无符号数大于等于0.由于无符号数没有负数,这种判断恒为真.比较没有意义
解决后:if (tt==0|| tt==1|| tt==2)
#68
原型:if(pwm_value == 200) step = -10;
解释:step我设置为无符号型(uint16_t),但是代码中带有符号(-),把uint16_t修改为有符号型就可以(int16_t)
#1295-D
未在函数声明后缀加void;