Keil5调试过程中遇到的一些警告和错误

最近用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.error: At end of source: #67: expected a "}"

这个错误很明显,就是说少了一个括号,因为我是一部分一部分调试的,调试完一部分注释,最后全部恢复优化,就报了这个错误,至于在哪里不知道,因为一点错误直接跳转到最后一行,但是我这个循环里面有上千条代码,一条一条慢慢过去找不现实。解决办法是二分法查找,先注释上半部分代码,没了错误,那肯定就是在上半部分少了"}",继续二分法,最后几十行看看就知道错在哪里了,加上括号,重新编译错误解决!

原文地址:https://www.cnblogs.com/structmooc/p/11318666.html

时间: 2024-08-01 21:34:21

Keil5调试过程中遇到的一些警告和错误的相关文章

Android APP 调试过程中遇到的问题。

调试过过程中APP安装完启动后有的时候会异常退出,报这个错误.有的时候可以直接启动.查找不到原因.网上说把commit方法替换成commitAllowingStateLoss() 也无效. Android APP 调试过程中遇到的问题. >> android 这个答案描述的挺清楚的:http://www.goodpm.net/postreply/android/1010000007192169/AndroidAPP调试过程中遇到的问题.html

关于VC++调试过程中的leak internal to Visual Leak Detector问题

此前,我记录一下小文,见http://blog.itpub.net/14466241/viewspace-749710/. 文章中简单记录了使用Visual Leak Detector软件侦探VC++开发中的内存漏洞问题. 但是,现在调试过程中经常出现如下提示: 网络搜索发现,这应该是Visual Leak Detector软件当前版本存在的一个BUG.现在的我编写的程序是不存在内漏的. 参考文章: http://vld.codeplex.com/discussions/280893

Android Studio 调试过程中快捷查看断点处变量值(Ctrl+Shift+I无效)?

当你在做Keymap到Eclipse后,在debug过程中,在Eclipse中我们很喜欢用Ctrl+Shift+I去查看一个运算或者调用的结果,这样用起来很方便.但是keymap到Eclipse后,你会发现这个快捷键不能使了.啥原因呢,原因我们一个个排除: 1.是否快捷键映射失败, 2.映射成功了,你看了快捷键也发现是正常的,那就再查看是否快捷键冲突. 3.如何是快捷键冲突,那解决快捷键冲突,正常来说解决了冲突后,快捷键是能正常使用的,但是你会发现即使你解决了冲突,Ctrl+Shift+I还是不

关于cefglue调试过程中打不开网页的问题

问题描述 cefglue在直接点击vs中的直接运行不调试的时候可以打开网页,但是调试过程中无法打开网页. 解决方法: 去掉工程属性中的启用visual studio承载进程 前面的勾就可以了打开网页

关于在adb调试过程中常用的用法及adb命令

本篇主要讲解一下几种关于我们在调试过程中常用的几个adb命令及用法,adb连接的具体过程这里就不再多讲 关于怎么通过adb命令连接手机进行调试请参考 如何通过PC端连接Android设备进行adb调试 首先必须确保你正确配置了AndroidSDK(不然这里是直接打不开的,需要进入到SDK-platform-tools路径下进行adb命令),话不多说,看图 1) adb devices ( 用于查看当前adb连接的设备有哪些,这里目前是无) 2) adb connect IP地址 (用于连接And

【转】MFC中调试过程中查看输出信息 -- 不错

原文网址:http://blog.sina.com.cn/s/blog_4e24d9c501014o39.html 笔记&&方便查阅. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

电调设计调试过程中遇到的问题总结

1. 上电电机能正常发声,但不能启动,具体表现的状态是转子晃动下就停止 ① 首先要判断硬件是否正常,写了一段强制换相的程序烧录进去,能正常运转,说明硬件是没问题的,至少驱动电路部分没问题. ② 初步假设是软件启动部分问题,检查启动部分代码,因为启动是检测过零点来决定下步换相时间,而过零点检测是通过比较器实现,问题定位到比较器部分. ③ 检查比较器的初始化,查看相关寄存器配置,没发现问题,重新去看datasheet,怀疑是不是有没注意到的细节问题. ④ 还是没有结果,把比较器部分代码拷贝出来单独建

VS调试过程中不可理解的问题----release下调试的悲剧

昨天晚上到现在,一直在调试一个代码,结果发现进入一个类的成员函数中以后,某些变量不能显示观察,什么局部变量,自动变量,监视窗口,都看了,就是某些变量不显示,程序不按照自己想要的步骤执行,竟然出现紊乱状态,头大啊!  实在不行,请大神指点,结果发现自己竟然是在release状态下调试的,所以各种不可理喻就都出来了,转成Debug版本下调试,终于程序可控了.真的是教训啊!写此博客以做警戒!

IIC通信控制的AD5259------在调试过程中遇到的奇葩问题

首先说一下的遇到的问题: 1.AD5259按照SCL是100KHz的情况下,可以正常接收上位机的数据,但是一段时间后,就不能正确的按照时序来走了 原因在于AD5259在接收到上位机的数据后需要一定的响应时间,而在这个响应时间内,scl和sda都不应该有任何的活动,否则会导致不能准确接收下一个数据的开始信号,但要特别注意的是,这段时间内的SCL以及SDA的设置也是有一个说法的. 2.断电后可以保持在正常工作的条件下. 断电相当于是一个复位的过程,也就是说,复位后可以正常工作~ 3.网上找到的完整的