天天看点

ARM KEIL 软件去除warning

最近发现工程的warning有点多,好几十个,一看还大多数是这种:

warning:  #1-D: last line of file ends without a newline

warning:  #550-D: variable "xx" was set but never used
           

第一个我的文件末尾是有空行的,但是它也报错了,不知道啥原因。

第二个,有些寄存器清零的动作是通过读寄存器的值来清零的,我就定义了一个局部变量,然后keil就说我定义了没用,这。。。。

其他的警告我都认了,这两个看着很无奈,又有强迫症,看着很不爽啊,现在就来看看怎么去除吧。

先说下环境,KEIL 5,ARM M4 内核
           

打开keil的帮助文档,help->uVision help

然后搜索#550-D,就是上面的第二种警告,如图:

ARM KEIL 软件去除warning

这儿我们打开倒数第二项,suppress这行,由文档可知,这个语句的作用是禁止某一类warning,感觉一下有了精神。

那我们要禁止上面的空行警告,怎么办呢?

可以在相关的文件里添加代码:

同理,对第二种警告:

那有很多文件怎么办?懒人症又犯了。。。

肯定是有办法的,打开“options for target”,在C/C++选项中,可以看到有个Misc Controls选项

ARM KEIL 软件去除warning

我们可以把上面的禁止警告语句加到这里面来,

--diag_suppress=1 --diag_suppress=550
           

添加后如图所示:

ARM KEIL 软件去除warning

再一编译,ok,这两种烦人的警告已经消失在远方了。不过,该处理的警告还是自己要去处理掉,像的确没用到的变量就该删掉,还有函数的implicity declare之类的警告也是可以改掉的。