共3条
1/1 1 跳转至页
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"
解释: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
解释:文件最后一行缺少一新行。
影响:避免当被include的文件展开时,前一个文件的最后一行与后一个文件的第一行直接连接成一行,造成错误。
改正:一般一个.c .h文件,要在最后留一个空行
共3条
1/1 1 跳转至页
回复
有奖活动 | |
---|---|
【有奖活动】分享技术经验,兑换京东卡 | |
话不多说,快进群! | |
请大声喊出:我要开发板! | |
【有奖活动】EEPW网站征稿正在进行时,欢迎踊跃投稿啦 | |
奖!发布技术笔记,技术评测贴换取您心仪的礼品 | |
打赏了!打赏了!打赏了! |
打赏帖 | |
---|---|
【换取逻辑分析仪】自制底板并驱动ArduinoNanoRP2040ConnectLCD扩展板被打赏47分 | |
【分享评测,赢取加热台】RISC-V GCC 内嵌汇编使用被打赏38分 | |
【换取逻辑分析仪】-基于ADI单片机MAX78000的简易MP3音乐播放器被打赏48分 | |
我想要一部加热台+树莓派PICO驱动AHT10被打赏38分 | |
【换取逻辑分析仪】-硬件SPI驱动OLED屏幕被打赏36分 | |
换逻辑分析仪+上下拉与多路选择器被打赏29分 | |
Let'sdo第3期任务合集被打赏50分 | |
换逻辑分析仪+Verilog三态门被打赏27分 | |
换逻辑分析仪+Verilog多输出门被打赏24分 | |
【分享评测,赢取加热台】使用8051单片机驱动WS2812被打赏40分 |