怎么完cf挑战模式错误代码会代码错误

查看: 3852|回复: 43
【实战挑战】是程序员的就来挑战一下解bug
重新置顶一下这帖子。是程序员,就自然要会解bug。不少队伍都已经过了校赛了,但还是出现各种奇怪的bug无法解。不妨用这题目来练习解bug能力吧。
我们推出了每日一题,里面涉及很多编程的基础知识,很多的知识都是同学们在大学课堂里从没接触过的,都是我们根据自己的项目经验来编写的题目,还有部分是网上收集的经典题目。我们的目的在于提高初学者的编程能力,更好地适应市场的需求。
至今,每日一题里出了很多题目,基本包含了常用的编程知识,但很多都是知识点讲解,没能给大家实战。如果每日一题的题目都看懂了,那么下一步,是程序员,就要会解bug。
这里有个工程,明明已经在头文件里定义了数据类型,C文件中包含了相应的头文件,但就是提示没定义。
大家下载一下代码,研究一下出错的原因在哪里,你是怎么定位到这问题的。这题目是考研你解bug的能力,所以希望大家认真去分析代码,把自己解bug的过程记录下来。
工程是基于IAR 6.3版本。
本帖子中包含更多资源
才可以下载或查看,没有帐号?
本帖被以下淘专辑推荐:
& |主题: 66, 订阅: 214
难怪我当时好像改为_MLCD_H_也可以
想起一个笑话:一个程序员找错误,找个好 ...
有时候一口气写一堆程序,想整理分布好点,居然一堆错误,改了好久没改回来,最后全部弄回原来的一两个文件放所有代码= =#
这题目,是考验大家的解bug能力,不是答案。
大家好好做一下,然后把解bug的思路告诉大家,展示一下自己的解bug手段。
这题目是出自论坛网友的gui工程,晚点等大家解出来,我再公开坛友的名字啦。
山外大哥& &每日一题有好多都看不懂& &咋办呀&&从哪开始学啊
先点option,找到c/c++Compiler,然后再找到preprocessor,在下面添加栏中添加LCD路径或其他路径。
山外大哥& &每日一题有好多都看不懂& &咋办呀&&从哪开始学啊
每日一题,都是有难度的题目,都是平时课题不讲,但真正项目又需要用到的知识。
如果看不懂,你可以自己百度一下,搜索一下相关的知识,做下笔记,最好可以把心得分享到论坛来,帮助更多的初学者。
如果还是不懂,可以发帖来交流,大家一起探讨一下。
先点option,找到c/c++Compiler,然后再找到preprocessor,在下面添加栏中添加LCD路径或其他路径。
这个不对,你可以下载代码来,编译一下,看看如何解决。
这题目估计难度太大了,给几个基础比较好的学生做,都没一个做出来
这题目估计难度太大了,给几个基础比较好的学生做,都没一个做出来
山外哥,答案是什么?好像知道。
这题目估计难度太大了,给几个基础比较好的学生做,都没一个做出来
&&不好意思,找好了,不太清楚都弄了什么了,感觉有点多,这是最主要的:
把LCD.H 头文件的修改,就是宏定义防重复包含知识,LCD_H修改为 _LCD_H_& &还有把别的要改
还有加上一下等等内容,
typedef & & & & unsigned & & & & char& & & & & & & & u8;& & & && &//无符号型
typedef & & & & unsigned & & & & short int& & & & u16;
typedef & & & & unsigned & & & & long&&int& & & & u32;
typedef& & & & & & __UINT64_T_TYPE__& && & u64;
typedef & & & & char& & & & & & & & & & & & & & & & & & & & s8;& & & && &//有符号型
typedef & & & & short int& & & & & & & & & & & & & & & & s16;
typedef & & & & long&&int& & & & & & & & & & & & & & & & s32;
typedef& & & & & & __INT64_T_TYPE__& &&&& & & & s64;
这题目,是考验大家的解bug能力,不是答案。
大家好好做一下,然后把解bug的思路告诉大家,展示一下自己 ...
山外哥,什么时候给答案。我把工程修改到零错误零警告要不我上传了吧:
我都把自己的找错过程编辑好了(还有截图),不过有点不敢往上贴,怕错了,闹笑话。
gsc617 发表于
山外哥,什么时候给答案。我把工程修改到零错误零警告要不我上传了吧:
我都把自己的找错过程编辑好了(还有截图),不过有点不敢往上贴,怕错了,闹笑话。哈哈,你直接上传吧,没关系的。错了,别人指出来,反而可以学到东西。
不好意思,找好了,不太清楚都弄了什么了,感觉有点多,这是最主要的:
是的,你做对了。不过解题的思路是最重要的。show一下你的解题思路吧。
是的,你做对了。不过解题的思路是最重要的。show一下你的解题思路吧。
山外哥,我说一下我的思路,也不知道对不对:
首先这个工程真不是一般大(文件1000多个,晕),编译好几分钟才完成,然后错误和警告很多。
1.其中变量等提示没找着,没定义。我就打开工程的预编译配置看有没有把所有路径都加入了。
2.工程的预编译配置似乎没问题,报错警告依然不断,我就定位错误和警告。然后用source insight跟踪
说也怪,发现都在几乎都是到了LCD.H头文件那里都能找着,,,瞎弄了半天发现
#ifndef LCD_H
#define LCD_H
与别的头文件明显不同:
#ifndef _COMMON_H_
#define _COMMON_H_
3.把LCD_H修改为 _LCD_H_& &之后就提示错误好像是只有u16,s16没定义:
Error[Pe020]: identifier &s16& is undefined C:\Users\admin\Desktop\vcan_GUI V1.1\UCGUI_Ports\ucgui_ports.c 162
当然警告也还是有,提示似乎是因为没有外部声明引起的:
像Warning[Pe223]: function &LCD_Fill& declared implicitly C:\Users\admin\Desktop\vcan_GUI V1.1\UCGUI_Ports\ucgui_ports.c 238
如法炮制。
4.往报错文件里加入定义过u16,s16的头文件#include &chshell.h&//gan 添加
或者添加:
typedef& && && &unsigned& && && &char& && && && && & u8;& && && & //无符号型
typedef& && && &unsigned& && && &short int& && &&&u16;
typedef& && && &unsigned& && && &long&&int& && &&&u32;
typedef& && && && &__UINT64_T_TYPE__& && & u64;
typedef& && && &char& && && && && && && && && && && && && & s8;& && && & //有符号型
typedef& && && &short int& && && && && && && && && && &&&s16;
typedef& && && &long&&int& && && && && && && && && && &&&s32;
typedef& && && && &__INT64_T_TYPE__& && && && & s64;
5.source insight 定位到了mlcd.c文件,修改mlcd.h的函数文件外部声明。
6.完成,还有几个警告(volatile修饰的变量一般不直接参与运算,强制类型转换不严格,假如要修改就零警告)。
也不知道有没有弄巧成拙,大伙见笑了,呵呵...不过我们实验室的linux大神说,程序找茬这事儿,是个耐心无聊活,意义似乎不太大。
附件使用IAR 7.2版本编译配置过,请用7.2或者以上打开。& &附件太大,等等在想解决方法呢
是的,你做对了。不过解题的思路是最重要的。show一下你的解题思路吧。
附件太大127M怎么上传呀教我压缩文件吧
学习了。。。。。。。
gsc617 发表于
山外哥,我说一下我的思路,也不知道对不对:
首先这个工程真不是一般大(文件1000多个,晕),编译好几分钟才完成,然后错误和警告很多。
1.其中变量等提示没找着,没定义。我就打开工程的预编译配置看有没有把所有路径都加入了。
2.工程的预编译配置似乎没问题,报错警告依然不断,我就定位错误和警 ...你找对了地方,不过有点碰巧。
是修改那个地方,这个没错。不过原因就错了。不是因为没前后加 _ 。
山外メ雲ジ 发表于
你找对了地方,不过有点碰巧。
是修改那个地方,这个没错。不过原因就错了。不是因为没前后加 _ 。
有怀疑过重复包含,但是不是有ifndef了吗~好皎洁~还是差点基础支撑
gsc617 发表于
是重复定义了。LCD_H已经定义了导致的。如何定位到这问题上,是值得思考的。我们的书上也有谈到解决这问题的方法。
Ray______ 发表于
有怀疑过重复包含,但是不是有ifndef了吗~好皎洁~还是差点基础支撑
是重复定义了。LCD_H已经定义了导致的。如何定位到这问题上,是值得思考的。我们的书上也有谈到解决这问题的方法。
本帖最后由 gsc617 于
15:02 编辑
是重复定义了。LCD_H已经定义了导致的。如何定位到这问题上,是值得思考的。我们的书上也有谈到解决这问 ...
难怪我当时好像改为_MLCD_H_也可以
想起一个笑话:一个程序员找错误,找个好几天越改越多错误非常烦恼;
下一天,他仍然不放弃继续找错,依然有很多错误,甚至越来越多;
继续了一段时间,错误仍然....终于在一天,就在他修改后一编译竟然没报错了。
这是他说了一句:他妈的我到底改哪里了呀
本帖最后由 ExiBQ 于
00:37 编辑
附件太大127M怎么上传呀教我压缩文件吧
直接运行“删除临时文件.bat”就小多了
应该是Linker页面的icf设置问题吧
好吧,,看了下你们的回复,初学者吓尿了
眼镜蛇 发表于
应该是Linker页面的icf设置问题吧
肯定不是,是出现重复宏定义导致。
应该是第一个typedef定义没加分号
此处定义的是u32 LCD_COLOR
等学到这一步才回来看&&
坑啊& &能说说解题思路吗
我记得第一次找的时候,找到两个lcd.h,一个大写LCD.h,一个小写lcd.h,都是#define LCD_H,后来怎么也找不到那个小写lcd.h了。。。。
应该在定义前加个extern就没问题了吧
用MDK的时候也遇到过,应该是要把结构体声明放到.c源文件而不是.h头文件,原因不知道
我开始方了0.0
长见识了。。。
没想到两年就这么过了。。。
那时候调成功的图:
本帖子中包含更多资源
才可以下载或查看,没有帐号?
我是先发现LCD.H没有参加编译,然后把改为#ifndef LCD1_H #define LCD1_H,又发现u16和s16没定义,又去定义这俩,然后又函数没声明,吐槽下一千多个文件的工程iar一时半会不能实现函数跳转,然后换source insight找到那个函数的原型,声明,还有函数入口参数是void,于是把那个入口参数去掉了,这样就编译通过了...
其他编译问题都解决了,最后一个 error 是 cannot open &mlcd.h&
我把&mlcd.h&取消注释后又把他的路径添加到option了
重新 编译一遍后提示又有一个 error&&是 cannot open &sys.h&
我又同样把sys.h所在的文件夹相对路径添加进去之后再重新编译了一遍
这时出现了一个我从来没见过的错误
Fatal Error[Pe035]: #error directive: MK60DZ10 memory map: There is already included another memory map. Only one memory map can be included. G:\A& &k60\山外V5.3(支持FX、FN和DNZ) IAR8.1版本使用\vcan_GUI\Chip\inc\kinetis\MK60DZ10.h 71
请问这样怎么解决&&
无语了,居然还扣积分……山外君要不要这样呀!
呵呵呵,太坑了,本人24K纯小白一枚,二级飘过去哒.LCD_COLOR那里,go to了下发现是在&LCD.h&定义的,感觉LCD.h写得挺对的,估计是哪里少了个符号,折腾了好久,把LCD_H改为_LCD_H_,终于把100多错误干到30个啦!u16那里,感觉u16、s16是数据类型,go to了下u16,文件里直接写了个#define u16 uint16,#define s16 int16(s16纯蒙的)算是混过去了。还剩个MLCD_DISPLAY_HORIZONTAL!根据山外君的风格,我觉得这个变量应该与注释掉的mlcd.h或者mlcd****.c什么的有关。把它替换为0,编译了下打算查查MLCD_Init函数,结果没找到,文件夹里找“mlcd”,打开mlcd.h,看到typedef enum MLCD_SHOW_MODE
& & MLCD_DISPLAY_HORIZONTAL,
& & MLCD_DISPLAY_VERTICAL,
}MLCD_SHOW_MODE;,然后我把这几句复制到报错的文件里,终于0error啦!
发表于 5&天前
山外飞思卡尔智能车论坛CF玩挑战怎么老出错误代码啊 我重装了 也不行 啊 这是怎么回事啊 我也没有卡和挂啊_百度知道
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。
CF玩挑战怎么老出错误代码啊 我重装了 也不行 啊 这是怎么回事啊 我也没有卡和挂啊
我有更好的答案
应该是系统问题,重做系统就OK了
偶尔卡地图会出现这个
为您推荐:
其他类似问题
错误代码的相关知识
换一换
回答问题,赢新手礼包现在CF 挑战BU怎么不管了 老是代码_百度知道
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。
现在CF 挑战BU怎么不管了 老是代码
我有更好的答案
现在刷那个的人太多 服务器承受不了 所以老是错误代码
为您推荐:
其他类似问题
您可能关注的内容
换一换
回答问题,赢新手礼包}

我要回帖

更多关于 cf挑战模式错误代码 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信