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长度的探测识别问题.为了节约大家的时间,现在把我经过实践得到的解决方案共享出来,这里要 ...
随机推荐
- SCIgen与野鸡期刊的梗
layout: post title: "SCIgen与野鸡期刊的梗" date: 2019-04-28 19:06:21 +0800 --- 作者:吴甜甜 个人博客网站: wut ...
- ES5_05_Function扩展
Function 构造器的语法: 注意: 参数 arg1 , arg2 , argN 被函数使用的参数的名称必须是合法命名的.参数名称是一个有效的JavaScript标识符的字符串,或者一个用逗号分隔 ...
- Hackbar再次更新后的破解思路 v2.2.6
不得不说在日常测试和渗透测试中hackbar这一插件给我带来了很大的便利 Hackbar在2.1.3之后的版本就开始收费了虽说价格不是很贵,但我们还是本着学习研究的心态来看看怎么绕过收费验证. 谷歌: ...
- Windows使用Python统一设置解析器路径
碰到的问题: .py文件放在cgi-bin文件夹下面,这个.py文件都要设置"#!python.exe路径"来告诉CGI如何找解析器解析这个.py的文件,我是想知道这个路径可否统一 ...
- scrapy基础知识之 Scrapy 和 scrapy-redis的区别:
Scrapy 和 scrapy-redis的区别 Scrapy 是一个通用的爬虫框架,但是不支持分布式,Scrapy-redis是为了更方便地实现Scrapy分布式爬取,而提供了一些以redis为基础 ...
- c++简单桶排序
c++简单桶排序 题目一样,还是排序 桶排序是排序算法里比较快的 代码 + 注释 #include <bits/stdc++.h> using namespace std; int mai ...
- GreenPlum完全安装_GP5.11.3完整安装
1 概述 1.1 背景 1.2 目标 1.3 使用对象 2 配置系统信息 2.1 配置系统信息,做安装Greenplum的准备工作 Greenplum 数据库版本5.11.3 2.1.1 Greenp ...
- leetcode的Hot100系列--3. 无重复字符的最长子串--滑动窗口
可以先想下这两个问题: 1.怎样使用滑动窗口? 2.如何快速的解决字符查重问题? 滑动窗口 可以想象一下有两个指针,一个叫begin,一个叫now 这两个指针就指定了当前正在比较无重复的字符串,当再往 ...
- J2EE:Servlet上传文件到服务器,并相应显示
Servlet 可以与HTML一起使用来允许用户上传文件到服务器 编辑上传文件的页面upload.html 注意事项:上传方式使用POST不能使用GET(GET不能上传文件) 表单 enctype 属 ...
- 星际旅行(欧拉路,欧拉回路)(20190718 NOIP模拟测试5)
瞎搞了一个ans+=du*(du-1)/2 wa20分,好桑心(话外音:居然还有二十分,出题人太周到了) 还是判欧拉路 题解没太仔细想,感觉还是kx的思路明白 具体就是:因为每条边要走两遍,可以把一条 ...