常见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 ";"
解决:这种错误一般是符号错误,多一个符号或者少一个符号