Keil常见错误汇总及处理方式
1、
warning: #767-D: conversion from pointer to smaller integer
解释:将指针转换为较小的整数
影响:可能造成的影响:容易引起数据截断,造成不必要的数据丢失。如果出现bug,很难调试。
改正:尽量避免这种转换,避免不了要确定转换的数据不会引起数据丢失。
2、
warning: #177-D:variable "i" was declared but never referenced
解释:变量i定义了,但是没有使用
影响:没有使用的变量,很容易提高代码出错的概率,还浪费了一些栈空间。
改正:对于这个警告,感觉应该修改代码直到没有。确定每一个变量都用到了,没有用到的注释掉,如果需要存在则在函数中调用下。
3、
warning: #188-D: enumerated type mixed with another type
解释:枚举类型混合了其他类型
影响:如果值超过了枚举类型的值,可能造成数据丢失。 改正:尽量避免这样的操作。
4、
warning: #223-D: function "Set_RX8025_INT" declared implicitly
解释:Set_RX8025_INT函数使用前没有显示声明。
影响:具体影响不是很清楚。
改正:在使用前显示声明下。
5、
warning: C3017W: i may be used before being set
解释:变量i或许在赋值前使用
影响:很有可能是漏掉了,某些情况,可能造成使用变量的随机值。
改正:在使用前将变量赋初值,对于这种警告,尽量消除。
6、
warning: #167-D:argument of type "uint8_t *" is incompatible with parameter of type "const char *restrict" require.async(['wkcommon:widget/ui/lib/sio/sio.js'], function(sio) { var url = 'https://cpro.baidustatic.com/cpro/ui/c.js'; sio.callByBrowser( url, function () { BAIDU_CLB_fillSlotAsync('u2845605','cpro_u2845605'); } ); });
解释:uint8_t *类型的参数与const char * restrict类型的参数不兼容。参数传递时,不同类型的警告。
影响:可能提高代码的bug率。
改正:首先避免这样做,其次如果避不开要详细检查传入的参数。
7、
warning: #69-D: integer conversion resulted in truncation
解释:整数转换导致数据截断
影响:可能造成数据丢失,出现错误。
改正:关于这种警告,应该详细考虑。确定转换都在预期的结果内。
8、
warning: #186-D: pointless comparison of unsigned integer with zero
解释:无符号整形和0的无意义比较
影响:一个潜在的问题,判断无符号数大于等于0。由于无符号数没有负数,这种判断恒为真。
改正:详细查看代码的意图,消除这样的判断。
9、
warning: #940-D: missing return statement at end of non-void function "fun1"
解释:非void型函数缺失返回语句。有返回值的函数,缺少了return语句。也有可能是在函数体中有但是最后一行没有。
影响:不是很了解。
改正:在非void类型函数的最后一行添加return语句。
10、
warning: #111-D: statement is unreachable
解释:语句执行不到
影响:由于前边的代码造成此段代码,永远不会执行到。
改正:应该查看此种警告,确定是我们需要的。并且尽量将此种警告消除。
11、
warning: #1-D: last line of file ends without a newline 解释:文件最后一行缺少一新行。
(window.cproArray = window.cproArray || []).push({ id: "u3054369" });
影响:避免当被include的文件展开时,前一个文件的最后一行与后一个文件的第一行直接连接成一行,造成错误。
改正:一般一个.c .h文件,要在最后留一个空行。
Keil常见错误汇总及处理方式的更多相关文章
- 李洪强iOS开发之OC常见错误汇总
// // main.m // 16 - 常见错误汇总 // // Created by vic fan on 16/7/13. // Copyright © 2016年 李洪强. All r ...
- PHP常见错误汇总
日常开发和调试的时候,经常会遇到一些错误,光怪陆离的不知所以,所以,特此将错误汇总一下,借鉴!!! 1. 原因分析: 一般可能是该文件出现了问题,检查一下代码和格式,是否出现开始的地方出现了空格,或 ...
- eclipse远程debug服务器上的项目(Tomcat),打开、关闭及常见错误汇总
我们工作中,有时候测试/生产环境,出现的结果会与我们预计的不一样,只看代码又看不出去问题所在,这个时候就需要远程debug下服务器上的项目. 注意:(1)需要debug的代码,本机代码需与服务器上一致 ...
- hadoop常见错误汇总及解决办法一
我们经常会遇到一些问题,而且可能会重复性遇到,这些方案可以收藏为以后备用.我们经常遇到如下问题:1.两次以上格式化造成NameNode 和 DataNode namespaceID 不一致,有几种解决 ...
- Android开发常见错误汇总
[错误信息] [2011-01-19 16:39:10 - ApiDemos] WARNING: Application does not specify an API level requireme ...
- Xcode常见错误汇总
1.error: macro names must be identifiers YourProject_prefix.pch 原因: 因为你弄脏了预处理器宏,在它处于<Multiple Val ...
- Spark常见错误汇总
1. Spark Driver cannot bind on port0, SparkContext initialized failed 如果是通过spark-submit等命令行提交的任务,在sp ...
- 服务器是R710常见错误汇总:
报错: E1422 CPU 1 machine check error . power cycle AC 解决方案: 系统 BIOS 已报告机器检查错误.请断开系统的交流电源 10 秒,然后重新启动系 ...
- 分布式进阶(十一) Docker 常见错误汇总
NO.1 以上添加网桥的命令在Ubuntu14.04中是不可行的.正确的命令如下: brctl addbr br0 ifconfig br0 192.168.1.188 netmask 255.255 ...
随机推荐
- 从零开始学 Web 之 BOM(三)offset,scroll,变速动画函数
大家好,这里是「 从零开始学 Web 系列教程 」,并在下列地址同步更新...... github:https://github.com/Daotin/Web 微信公众号:Web前端之巅 博客园:ht ...
- AWS DevOps – 配合Jenkins和CodeDeploy实现代码自动化部署
AWS DevOps – 配合Jenkins和CodeDeploy实现代码自动化部署 Amazon ElastiCache 连接至 Redis 节点 通过 AWS Command Line Inter ...
- 11个教程中不常被提及的JavaScript小技巧
这次我们主要来分享11个在日常教程中不常被提及的JavaScript小技巧,他们往往在我们的日常工作中经常出现,但是我们又很容易忽略. 1.过滤唯一值 Set类型是在ES6中新增的,它类似于数组,但是 ...
- 为springboot项目添加springboot-admin监控
我们知道spring-boot-actuator暴露了大量统计和监控信息的端点,spring-boot-admin 就是为此提供的监控项目. 先来看看大概会提供什么样的功能 从图中可以看出,主要内容都 ...
- 数据库新秀 postgresql vs mongo 性能PK
前几天看了一篇文章<High Performance JSON PostgreSQL vs. MongoDB> 发布在Percona Live Europe 2017 作者是<Dom ...
- 自动化运维(1)之二进制部署MySQL5.7
二进制部署MySQL5.7 这个文档用于基础解释,后面通过ansible的自动化对MySQL单实例进行安装部署. 1.解压文件 # tar zxvf mysql-5.7.22-linux-glibc2 ...
- 深入理解RDD原理
首先我们来了解一些Spark的优势:1.每一个作业独立调度,可以把所有的作业做一个图进行调度,各个作业之间相互依赖,在调度过程中一起调度,速度快.2.所有过程都基于内存,所以通常也将Spark称作是基 ...
- [android] 调用系统照相机和摄像机
查看系统照相机源码,找到清单文件查看 查看意图过滤器,action是android.media.action.IMAGE_CAPTURE category是android.intent.categor ...
- Nginx 500错误总结
Nginx 500错误总结 500(服务器内部错误) 服务器遇到错误,无法完成请求. 501(尚未实施) 服务器不具备完成请求的功能.例如,当服务器无法识别请求方法时,服务器可能会返回此代码. 502 ...
- 使用vue-cli开发过程中如何把jQuery设置为全局
说明:vue-cli是vue快速构建项目的命令行式开发模式. vue主要针对数据层,更多的操作在数据上,很少在DOM上,偶尔也会需要操作DOM,偶尔也会用到JQ插件,下面简单说下如何在使用vue-cl ...