在51单片机上写贪吃蛇,c51编译器奇怪错误

z642010820 2009-04-16 07:47:54
帮帮忙啊,这个程序小的时候没错,在单片机上也运行过,都正常,当功能一点点增多,突然出现奇怪的错误,编译器不认识我定义的结构体了,我肯定不是语法的问题,估计可能是c51编译器有某些限制造成的,网都查漏了也没解决问题,请帮帮忙,先谢过了,代码已上传
...全文
197 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
z642010820 2009-04-16
  • 打赏
  • 举报
回复
期待。。。。。。
z642010820 2009-04-16
  • 打赏
  • 举报
回复
但这也不能解决问题,当我再增加代码的时候,编译器又有更多的结构体找不到了
z642010820 2009-04-16
  • 打赏
  • 举报
回复
#include "zsnake.h"
#include "zdefine.h"

#ifdef __cplusplus
extern "C"{
#endif

/*struct ZFood{
ZPoint curFood;
ZPoint preFood;
bool isEaten;
}; */

typedef struct __ZFood{
ZPoint curFood;
ZPoint preFood;
bool isEaten;
}ZFood;

void zFood_create( ZFood* food, ZSnake* snake,ZObstacle *obstacle);

#ifdef __cplusplus
}
#endif

#endif // FOOD_H


//===============================================================








//==============================================
/*
描述:描述snake的结构
成员:
body:包含蛇身每一节的坐标队列,蛇头在队尾
speed:蛇的速度,多少毫秒走一步,每过一关都会减50
初始为500ms/步
isAlive:蛇是否活着的标志位
true:活
false:挂
direction:蛇移动的方向
LEFT
RIGHT
UP
DOWN
stage:关(1,2,3,4,5,6,7,8,9,10一共10关)


//===============================================
typedef struct __ZSnake
{
//private

bool isAlive;
bool speedUp;
uchar direction;
uchar stage;
uint speed;
ZQueue body;
ZPoint removed;
}ZSnake;
//=================================================


这是出错的两个结构体,编译在我声明void zFood_create( ZFood* food, ZSnake* snake,ZObstacle *obstacle);的地方说syntax error near '*',也就是认不到我定义的结构了,当我把ZSnake改成void 或struct __ZSnake时,又莫名奇妙的不报错了
Dinelgua 2009-04-16
  • 打赏
  • 举报
回复
真奇怪
z642010820 2009-04-16
  • 打赏
  • 举报
回复
太大了,代码10k,又是奇怪的错误,只看错误是看不出问题的
liliangbao 2009-04-16
  • 打赏
  • 举报
回复
单片机~
帮顶~
  • 打赏
  • 举报
回复
先贴上来吧,网速不好,下不了.

69,369

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧