keil c中,一维数组的长度为什么有限制?

[复制链接]
 楼主| c555 发表于 2007-11-29 15:37 | 显示全部楼层 |阅读模式
 unsigned char socom[25];  这是定义的一个数组,当数值改为26时,就编译出错,是怎么回事?25以下正常。
computer00 发表于 2007-11-29 15:44 | 显示全部楼层

肯定是你哪里搞错了...内存不足了吧?把报错信息弄上来看

  
computer00 发表于 2007-11-29 16:06 | 显示全部楼层

你有些函数没有调用,所以导致keil无法对那些临时变量进行

导致占用了很多RAM。&nbsp;你将那些没有调用的函数调用下或者删除掉,应该可以解决问题。<br /><br />另外,你看这个提示:<br />***&nbsp;ERROR&nbsp;L107:&nbsp;ADDRESS&nbsp;SPACE&nbsp;OVERFLOW<br />&nbsp;&nbsp;&nbsp;&nbsp;SPACE:&nbsp;&nbsp;&nbsp;DATA<br /><br />说明RAM已经没了。你是什么型号的处理器?如果是52,可以将一些变量前面加idata。<br /><br />如果是51,那就不行了,连变量都不够了,堆栈就更可怜了,程序可能会跑飞,要保证几个给堆栈用。
fenjin 发表于 2007-11-29 21:45 | 显示全部楼层

同意楼上

  
您需要登录后才可以回帖 登录 | 注册

本版积分规则

264

主题

556

帖子

3

粉丝
快速回复 在线客服 返回列表 返回顶部

264

主题

556

帖子

3

粉丝
快速回复 在线客服 返回列表 返回顶部