常见keil消除警告和报错

Warning:

#1-D: last line of file ends without a newline 文件最后一行不是新行

解决:保证文件最后一行什么符号也没有

: missing return statement at end of non-void function “xxxx” 没有返回值

解决:   检查并在所指出的函数中添加返回值语句,通常是编写程序时候设定了返回类型但是没有设定返回值,需要注意的是这个问题有时候会导致建立文件时产生错误。

warning:  #174-D: expression has no effect  data

解决: 函数没有加上(),或者是data变量不能不能单独赋值,如要赋值就应该是   data = data

warning: #111-D: statement is unreachable

解决:

"statement is unreachable"这句一般是说编译器认为程序执行不到这里。
因为本人运行程序的时候,再向前有一个While(1)循环,
理论上说除非你里面有设置break,否则会一直循环下去。
编译器认为在while循环这里就会一直循环,永远跳不出来,
那么下面这一句指令也就永远无法执行到了。
这种警告一般不会影响程序的运行。
如果你觉得它很讨厌,可以修改你的语句,让编译器认为这个指令可以达到,比如加上一个If语句

 

error

..\ModulDrivers\driver_iic.c(112): error:  #65: expected a ";"        

解决:这种错误一般是符号错误,多一个符号或者少一个符号