当前位置:首页 > 嵌入式 > 嵌入式教程
[导读]【经验笔记】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嵌套容易造成此类错误,常常丢三落四,所以养成好的编程风格和习惯可以避免此类错误。

... ...

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

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

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

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

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

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

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

关键字: python 函数 对象编程

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

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

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

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

ZigBee 无线网络节点开发平台软件开发平台 IAR Embedded Workbench(简称 EW)的 C/C++交叉编译器和调试器是今天世界最完整的和最容易使用专业嵌入式应用开发工具。EW 对不同的微处理器提供一...

关键字: IAR 无线网络 编译器

南京2022年7月13日 /美通社/ -- "我不在咖啡馆,就在去咖啡馆的路上。"法国大文豪巴尔扎克也是一名狂热的咖啡控,他的这句名言曾被世界各地许多文青用作生活标签,越来越多人习惯以一杯醇香咖啡为美...

关键字: 全自动 西门子 IAR ROM

南京2022年7月4日 /美通社/ -- 无论是展现自我品味格调,还是享受美好的下午茶时光,一杯醇正馥郁的大师级私调咖啡都是绝佳的选择。随着咖啡市场的持续扩大,咖啡爱好者对于品类和品质的要求也不断提高,对咖啡的...

关键字: 西门子 全自动 IAR ROM

IAR Systems官方在微软的大力的支持下,给全球数百万使用Visua lStudio Code的开发者提供其嵌入式专业知识和软件解决方案,为了尽可能的满足市场需求,并进一步加快开发流程。

关键字: IAR VS Code

基于底层通用的 HIFI 技术体系,实现性能和成本的完美平衡 北京2022年6月23日 /美通社/ -- 6月23日,全球肿瘤基因检测及癌症早筛赛道代表企业和瑞基因宣布推出多癌种早筛产品"全思宁&q...

关键字: HIFI DNA BSP IAR
关闭
关闭