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

z642010820 2009-04-16 07:47:54
帮帮忙啊,这个程序小的时候没错,在单片机上也运行过,都正常,当功能一点点增多,突然出现奇怪的错误,编译器不认识我定义的结构体了,我肯定不是语法的问题,估计可能是c51编译器有某些限制造成的,网都查漏了也没解决问题,请帮帮忙,先谢过了,代码已上传
...全文
252 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
  • 打赏
  • 举报
回复
单片机~
帮顶~
  • 打赏
  • 举报
回复
先贴上来吧,网速不好,下不了.
内容概要:本文详细描述了机械零件Part4的设计与建模过程,重点围绕三维建模中的几何构造操作展开。首先基于原零件三视图确定关键尺寸,依次创建多个同心圆柱体结构,包括外层圆柱体(52、52、5)、中间圆柱体(25、25、7)以及中心孔结构(16、16、12)。随后对底部圆柱体进行临时加高处理,以便在顶面草绘中构建辅助图形:以计算得出的半径17.5画圆,并在其接触面上方绘制半径为3的小圆,进而引出两条分别成60°和-60°的斜线,配合一条水平线形成三角形轮廓。接着在其余两角复制相同的小圆结构,清理多余线条后完成草图设计。利用该草图执行“拉伸切除”操作,深度设为16.28mm,实现特征开槽。最后将底部圆柱体恢复原始高度5mm,完成整体结构修改。; 适合人群:具备基础CAD建模能力的机械设计人员或工科类学生;熟悉SolidWorks、AutoCAD等三维设计软件的操作者;从事零部件逆向设计或结构优化的技术人员。; 使用场景及目标:①用于学习复杂零件的分步建模方法,掌握从三视图到三维实体的转换技巧;②理解拉伸、切除、草图约束、包围盒设置等核心建模命令的实际应用;③提升对尺寸链计算、辅助线构建及几何关系控制的理解与实践能力。; 阅读建议:建议结合文中参数逐步在建模软件中复现操作,重点关注草图绘制逻辑与切除特征的关联性,注意各步骤间的顺序依赖关系,避免因尺寸或约束错误导致建模失败。
内容概要:本文系统阐述了基于格子Boltzmann方法(Lattice Boltzmann Method, LBM)对二维通道内多孔介质流动进行数值模拟的理论体系、Matlab代码实现流程及结果验证方法。深入剖析了LBM在处理复杂流体系统尤其是不规则几何结构多孔介质流动中的独特优势,详细介绍了模型构建过程、边界条件设定、碰撞与传播环节的算法实现机制,并通过Matlab编程完成仿真运算,实现了对速度场、压力场等关键物理量的可视化分析与精度验证,确保模拟结果具备良好的准确性与可靠性。; 适合人群:具备流体力学基础知识和一定Matlab编程能力的研究生、科研人员及工程技术人员,尤其适合从事多孔介质流动、计算流体力学(CFD)或LBM方法研究的相关领域研究人员。; 使用场景及目标:①掌握格子Boltzmann方法的核心原理及其在多孔介质流动模拟中的具体应用;②学习利用Matlab实现LBM算法并开展科学计算与结果可视化的方法;③为相关科研项目、学术论文复现或实际工程仿真提供可复用的代码框架与技术实施路径。; 阅读建议:建议读者结合流体力学与数值计算相关背景知识,逐步理解算法推导过程,动手运行并调试所提供的Matlab代码,通过调整参数或几何模型加深对LBM方法灵活性与适用性的认识,同时鼓励将该方法拓展至三维流动或多物理场耦合问题的研究中。

70,040

社区成员

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

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