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

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.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,加⼊之后重新编译,警告消失!
<: At end of source: #67: expected a "}"
槽楔这个错误很明显,就是说少了⼀个括号,因为我是⼀部分⼀部分调试的,调试完⼀部分注释,最后全部恢复优化,就报了这个错误,⾄于在哪⾥不知道,因为⼀点错误直接跳转到最后⼀⾏,但是我这个循环⾥⾯有上千条代码,⼀条⼀条慢慢过去不现实。解决办法是⼆分法查,先注释上半部分代码,没了错误,那肯定就是在上半部分少了"}",继续⼆分法,最后⼏⼗⾏看看就知道错在哪⾥了,加上括号,重新编译错误解决!

本文发布于:2024-09-22 11:29:21,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/279423.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:警告   编译   注释   错误   部分   消失   调试
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议