Keil5调试过程中遇到的一些警告和错误
作者:struct_mooc 博客地址:https://www.cnblogs.com/structmooc/p/11318666.html
最近用keil5调试代码出了一些警告与错误,整理如下:
1.warning: #1295-D: Deprecated declaration run_c - give arg types
void run_c();//原函数
void run_c(void);//改正后
对比前面声明的函数,发现是括号少了一个void,因为我的函数是不带参的,不加void会有警告的,往括号里加了void之后,重新编译之后警告消失。
2.warning: #940-D: missing return statement at end of non-void function "Gray_Delay_Run40"
int Gray_Delay_Run40(u16 i)//原函数
{
while(i -- )
{
delay_ms(1);
Gray_Run40();
}
}
int Gray_Delay_Run40(u16 i)//改正1
{
while(i -- )
{
delay_ms(1);
Gray_Run40();
}
return 0;
}
void Gray_Delay_Run40(u16 i)//改正2
{
while(i -- )
{
delay_ms(1);
Gray_Run40();
}
}
因为我函数是int型的,是需要有返回值,但是我没有return,加入return 0;之后重新编译警告消失。或者直接把int改成void,同样编译后警告消失。
3.warning: #177-D: variable "a" was declared but never referenced
s32 a = 50;//原函数
//s32 a = 50;//改正后
因为我定义了一个变量准备在后面用到,但是后面直接用数字代替了,没有用到,将这个变量注释后,重新编译警告消失。
4.warning: #177-D: function "Delayms" was declared but never referenced
static void Delayms(u16 i)
{
...
}
//static void Delayms(u16 i) //改正后
//{
// ...
//}
这里和第3个错误差不多,因为我定义了一个函数准备在后面用到,但是后面没有用到,将这个函数注释后,重新编译警告消失。
5.warning: #128-D: loop is not reachable
这个警告的意思是我无法跳出这个循环,我跳到这行看,发现的确少了一个break,加入之后重新编译,警告消失!
6.error: At end of source: #67: expected a "}"
这个错误很明显,就是说少了一个括号,因为我是一部分一部分调试的,调试完一部分注释,最后全部恢复优化,就报了这个错误,至于在哪里不知道,因为一点错误直接跳转到最后一行,但是我这个循环里面有上千条代码,一条一条慢慢过去找不现实。解决办法是二分法查找,先注释上半部分代码,没了错误,那肯定就是在上半部分少了"}",继续二分法,最后几十行看看就知道错在哪里了,加上括号,重新编译错误解决!
Keil5调试过程中遇到的一些警告和错误的更多相关文章
- 关于火狐浏览器在开发调试过程中,出现javascript:void(0)的状态
关于火狐浏览器在开发调试过程中,出现javascript:void(0)的状态 由于火狐浏览器没有安装 Adobe Flash Player 19 NPAPI这个插件 安装好了之后就可以直接运行了
- Android APP 调试过程中遇到的问题。
调试过过程中APP安装完启动后有的时候会异常退出,报这个错误.有的时候可以直接启动.查找不到原因.网上说把commit方法替换成commitAllowingStateLoss() 也无效. Andro ...
- 调试过程中发现按f5无法走进jdk源码
debug 模式 ,在fis=new FileInputStream(file); 行打断点 调试过程中发现按f5无法走进jdk源码 package com.lzl.spring.test; impo ...
- VS·调试过程中某个操作导致调试突然退出之解决方案
阅文时长 | 0.11分钟 字数统计 | 232字符 主要内容 | 1.引言&背景 2.声明与参考资料 『VS·调试过程中某个操作导致调试突然退出之解决方案』 编写人 | SCscHero 编 ...
- 【转】MFC中调试过程中查看输出信息 -- 不错
原文网址:http://blog.sina.com.cn/s/blog_4e24d9c501014o39.html 笔记&&方便查阅. ~~~~~~~~~~~~~~~~~~~~~~~~ ...
- C语言调试过程中duplicate symbol错误分析
说明:在我们调试C语言的过程中,经常会遇到duplicate symbol错误(在Mac平台下利用Xcode集成开发环境).如下图: 一.简单分析一下C语言程序的开发步骤. 由上图我们可以看出C语言由 ...
- Android Studio 调试过程中快捷查看断点处变量值(Ctrl+Shift+I无效)?
当你在做Keymap到Eclipse后,在debug过程中,在Eclipse中我们很喜欢用Ctrl+Shift+I去查看一个运算或者调用的结果,这样用起来很方便.但是keymap到Eclipse后,你 ...
- [ISE调试] 在ISE调试过程中,遇到过的warning以及消除办法
1.在generate的过程中,在Map环节遇到了下面这个warning 意思:告诉你是黑盒子,而且他本来在设计里面就是黑盒子. 解决办法:点击图中的,会弹出一个代码文件,是声明这个IP核的文件,代码 ...
- VTK 编译过程中出现的hdf5长度(I64)错误解决办法
最近在使用vtk和cuda做大规模图像处理方面的问题研究,在编译vtk的过程中发现第三方库hdf5不能够解决I64长度的探测识别问题.为了节约大家的时间,现在把我经过实践得到的解决方案共享出来,这里要 ...
随机推荐
- Hive入门(四)查询优化
1 本地模式 0.7版本后Hive开始支持任务执行选择本地模式(local mode). 大多数的Hadoop job是需要hadoop提供的完整的可扩展性来处理大数据的.不过,有时hive的输入数据 ...
- 接口文档注解:@ApiOperation
@ApiOperation不是spring自带的注解是swagger里的 com.wordnik.swagger.annotations.ApiOperation; @ApiOperation和@Ap ...
- C++学习书籍推荐《More Exceptional C++(英文)》下载
百度云及其他网盘下载地址:点我 作者简介 Herb Sutter is the author of three highly acclaimed books, Exceptional C++ Styl ...
- Bzoj 2288 生日礼物题解
2288: [POJ Challenge]生日礼物 Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 856 Solved: 260[Submit][S ...
- ~~番外:说说Python 面向对象编程~~
进击のpython Python 是支持面向对象的 很多情况下使用面向对象编程会使得代码更加容易扩展,并且可维护性更高 但是如果你写的多了或者某一对象非常复杂了,其中的一些写法会相当相当繁琐 而且我们 ...
- Connecting to the Network
This lesson shows you how to implement a simple application that connects to the network. It explain ...
- 构建工具--glup如何压缩,丑化代码
目录 为什么使用 实现 为什么使用 最近在迭代公司的项目,发现项目有如下缺点: 代码没有压缩,js文件,内存大,放在服务器上占空间: 源代码没有混淆或者丑化处理,本公司的程序员写出来的代码和高质量逻辑 ...
- k8s学习 - 概念 - Deployment
k8s学习 - 概念 - Deployment 有了 ReplicaSet 还需要有 Deployment 的原因是希望有一个控制器能管理部署更新时候的版本控制问题.一个 Deployment 可以管 ...
- 你可能不知道的github的秘密
github也可以使用快捷键 先举例子,如何快速查找项目中的文件? 只需要进入项目,并按下T键 在浏览代码时,如何快速跳到指定行? 只需要进入项目,并按下L键 下面是一些常用的快捷键 聚焦搜索栏 按下 ...
- Adaboost原理推导
Adaptive Boosting是一种迭代算法.每轮迭代中会在训练集上产生一个新的学习器,然后使用该学习器对所有样本进行预测,以评估每个样本的重要性(Informative).换句话来讲就是,算法会 ...