新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 【经验笔记】IAR常见错误及警告信息表

【经验笔记】IAR常见错误及警告信息表

作者:时间:2012-11-02来源:网络收藏

用惯了觉着它真的灰常强大(虽然UI界面有点简单,没有Keil和Eclipse做的那么炫),随着使用的时间越来越长,不断有新的技巧和功能被发掘,第一是不断给俺带来惊喜,第二是成就感自我感觉良好,第三也是最重要的就是功能的强大极大程度上方便了我们的产品开发,所以如此“贤内助”我们怎么舍得拒绝呢(这回轮到给做广告了),哈哈~

本文引用地址:http://www.amcfsurvey.com/article/148280.htm

不过令我们头疼的是当编译程序时出现的一大堆,虽然大多数问题好解决,不过也有一些或者让我们抓耳挠腮无所适从。所以这里我就列出IAR一些所代表的意思及相应的处理方法,希望能对正在使用IAR的同志们有所帮助。另外本表主要是我在逛阿莫论坛时看到的,也没有原作者相应的信息,所以无法在这里感谢了,也因此我以“”的形式写出来(当然也有自己的一些批注)。下面我挑了一些重点的列出来并加以注释,具体原版信息表见文章最后的附件:

一、警告信息表:

1.Macro name redefine(宏被重新定义)

表示用#define定义的宏在程序中以不同形式的参数或者形式重新定义了。

2.undeclared function parameter name; assumed int(为声明的函数参数“name”,假设为“int”型)

缺省情况下,函数定义头部中未声明的标识符默认为“int”型。

3.unreferenced label name(未引用的标号“name”)

这个貌似最常遇到的警告之一了,常常我们定义了某个变量,但在程序中却没有使用它。

4.unreachable returns, the function will never return.(不能到达的返回,即执行不到RET指令,函数不能返回)

函数永远不能返回到调用的函数中,这可能是程序设计的bug造成的。当然如果是RTOS的话,这点是正常的,无需考虑,因为操作系统每一个任务就是无限循环。

5.Floating point constant out of range.(浮点常数超出范围)

浮点值太大或者太小以致于不能使用目标的浮点系统来表示。

... ...

二、错误信息表:

1.Invalid syntax(无效的语法)

系统编译器不能识别的语法,语句不符合标准。

2.Failed to open #include file name(打开头文件失败)

这也是比较的错误,编译器在编译程序的时候找不到文件里包含的头文件,可能头文件不存在或者路径不对等等。

3.member name of struct or union redeclared(结构体或者联合体成员变量被重新声明)

这个错误也是比较常犯的,因忘记了在结构体后者联合体中已经定义的变量,而在程序主体之中又重新定义或者声明了这个变量。

4.‘; ’ expected(忘记语句结束符'; ')

这个貌似是最的错误了吧,估计好多新手都犯过这个错误,养成一个语句结尾都要加‘; '的好习惯是你从菜鸟迈向大牛很重要的一步。

5.“else” without preceding “if”(“else”没有前导的“if”)

过多或者杂乱的使用if...else嵌套容易造成此类错误,常常丢三落四,所以养成好的编程风格和习惯可以避免此类错误。

... ...

错误和警告的类型很多很多,我这里列出来的只是冰山之一角了

51单片机相关文章:51单片机教程




评论


相关推荐

技术专区

关闭