[realview] warning: #550-D: variable "d" was set but never used
realview arm 编译器warning
#550-D: variable “d” was set but never used
描述: 变量’d’定义但从未使用,或者是,虽然这个变量你使用了,但编译器认为变量d所在的语句没有意义,编译器把它优化了.
使用RealView的amrcc编译器时遇到了这个警告,本想设置个临时变量存储一个结果,然后在调试器中查看。开始没有注意这个警告,调试时才发现变量不可访问,所以,出现这个警告的时候,编译器可能已经把这个它认为没有用的变量给优化掉了。
解决的办法是,如果你确实需要这个变量,在定义时加上volatile关键字,以明确告诉编译器不要优化它。
另外,有时程序中先写了一个变量,但确实还没有用(就像有时我们会写空函数或者一个函数中有时不需要某个参数),可以用(void)variable;的方式明确的消除编译器警告。毕竟,遗留任何警告信息都是不好的。