Keil常见错误汇总及处理方式

Posted itdoy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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常见错误汇总及处理方式的主要内容,如果未能解决你的问题,请参考以下文章

eclipse远程debug服务器上的项目(Tomcat),打开关闭及常见错误汇总

Java中常见的异常处理汇总

3D Slicer画病灶可能产生的问题+核磁共振影像数据处理-14-3d slicer画病灶“三宗罪”|常见bug(错误)汇总

网页错误页提示码汇总及使用示例

http状态码汇总及问题经验总结

VUE工作中常见问题汇总及解决方案