当前位置:首页 > 嵌入式 > 嵌入式教程
[导读]【经验笔记】IAR常见错误及警告信息表

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

不过令我们头疼的是当编译程序时出现的一大堆错误及警告信息,虽然大多数问题好解决,不过也有一些错误或者警告让我们抓耳挠腮无所适从。所以这里我就列出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嵌套容易造成此类错误,常常丢三落四,所以养成好的编程风格和习惯可以避免此类错误。

... ...

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

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

当前开发者在RISC-V汽车应用开发中面临多重挑战,从架构多样性到快速交付的紧迫需求。IAR通过平台化、认证工具、优化流程和低代码开发等策略,为开发者提供了高效解决方案。其架构无关的工具链、先进的调试能力以及认证工具链帮...

关键字: RISC-V 混合架构 IAR 汽车

北京——2024年10月29日 亚马逊云科技日前宣布,通过与光环新网与西云数据的紧密合作,在亚马逊云科技(北京)区域和(宁夏)区域推出Amazon Lambda SnapStart功能,将基于Java Lambda函数的...

关键字: 函数 数据处理

北京2024年10月29日 /美通社/ -- 亚马逊云科技日前宣布,通过与光环新网与西云数据的紧密合作,在亚马逊云科技(北京)区域和(宁夏)区域推出Amazon Lambda SnapStart功能,将基于Java La...

关键字: START 亚马逊 PS 函数

关于数据分析与可视化,以下介绍Pandas读取数据以及保存数据的方法,毕竟我们很多时候需要读取各种形式的数据,以及将我们需要将所做的统计分析保存成特定的格式。

关键字: 函数 Panda

深圳2024年8月15日 /美通社/ -- 近日,知名量化交易平台水母量化正式推出了突破性的轮动交易策略回测功能,目前已进入公测阶段。该功能实现了从策略设计、历史回测到实盘自动交易一体化流程,帮用户解决了策略验证难、交易...

关键字: 编程 仿真 函数 开源

上海2024年5月20日 /美通社/ -- 仲夏伊始,光芒新生,5月17日,由上海工业商务展览有限公司主办的、以"拥抱新质生产力,助力新型工业化"为主题的第九届广东国际机器人及智能装备博览会(以下简称...

关键字: IAR 机器人 自动化 RS

以科技创新力量,重新定义产业办公及产业洞察视角 成都2023年8月16日 /美通社/ -- 由仲量联行(纽交所代码:JLL)主办的睿见论坛之"REDEFINE 焕新成都产链 · 重构城市价值&q...

关键字: 数据分析 楼宇 BSP DEFINE

Python由荷兰数学和计算机科学研究学会的吉多·范罗苏姆于1990年代初设计,作为一门叫做ABC语言的替代品。 Python提供了高效的高级数据结构,还能简单有效地面向对象编程。

关键字: python 函数 对象编程

测试数据综合分析的绝佳工具,深受工程师和研究员欢迎

关键字: 后处理分析软件 向导 函数

由上图中可以知道进程地址空间中最顶部的段是栈,代码中调用函数、定义局部变量(但不包含static修饰的变量)或声明的类的实例等等都要使用栈空间,当函数执行完(也就是程序执行超过了这个函数的作用范围的时候),操作系统会把该...

关键字: 进程地址 局部变量 函数
关闭