keil MDK编译器警告和错误详解

 

1.warning:  #550-D: variable 'd' was set but never used
描述:变量'd'定义但从未使用,或者是,虽然这个变量你使用了,但编译器认为变量d所在的语句没有意义,编译器把它优化了.
解决:仔细衡量所定义的变量d是否有用,若是认定变量d所在语句有意义,那么尝试用volatile关键字修饰变量d,若是真的没有用,那么删除掉以释放可能的内存.

2.warning:  #1-D: last line of file ends without a newline
描述:文件最后一行不是新的一行.编译器要求程序文件的最后一行必须是空行,想了半天没想通为什么要这样.
解决:可以不理会.若是觉得出现警告不爽,那么在出现警告的文件的最后一行敲个回车,空出一行.

3. warning:  #111-D: statement is unreachable
描述:声明不可能到达.多出现在这种场合:
 int main(void)
 {
   ...
  
        while(1) //无限循环,这在不使用操作系统的程序中最常见
       {

4.

line 10: warning: function declared implicitly

这是由于没有声明函数原型造成的。

在a.c中,

void main()

{

.....

delay();

....

}

在b.c中

void delay()

{

}

如果就只是这样的话,就会出现上面的worning的。

解决办法是在b.h中写 extern void delay();然后在a.c中include "b.h"就ok了。

再看程序,发现只包含了DSP281x_Device.h,后来把DSP281x_Examples.h添加进去就消除worning了。

DSP281x_Examples.h中又include“DSP281x_GlobalPrototypes.h”,而这个头文件中声明了全部的外部函数

           

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值