打印

could not find space (476 bytes) for variable

[复制链接]
13769|22
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
永不落的星|  楼主 | 2011-6-15 14:34 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
编译出现这样错误怎么解决呢 could not find space (476 bytes) for variable _xxx_
沙发
mei326| | 2011-6-15 14:39 | 只看该作者
数据类型不对·

使用特权

评论回复
板凳
永不落的星|  楼主 | 2011-6-15 14:53 | 只看该作者
数据类型不对 不觉得啊  编译错误提醒是这样的 Error   [1250] D:\pic c\7565r\7565r.c; 35. could not find space (476 bytes) for variable _GB_16

使用特权

评论回复
地板
永不落的星|  楼主 | 2011-6-15 15:08 | 只看该作者
16F883  这里是一个屏显示的试验
Error   [1250] D:\pic c\7565r\7565r.c; 35. could not find space (476 bytes) for variable _GB_16
_GB_16_是字库数组  
在看看

使用特权

评论回复
5
yewuyi| | 2011-6-15 15:15 | 只看该作者
could not find space (476 bytes) for variable
我翻译给你看:
space:空间的意思
476 bytes:表示有476个字节
variable:变量

大概的意思就是:变量空间有476个字节找不到

使用特权

评论回复
6
yewuyi| | 2011-6-15 15:19 | 只看该作者
为了便于验证,你可以把字库数组 _GB_16_缩小长度,然后再编译看看会怎么样。

另外,字库一类的东西,一般需要使用关键字const定义到ROM中,放在RAM中要么是钱多骚的慌,要么是(此处省去若干字)

使用特权

评论回复
7
永不落的星|  楼主 | 2011-6-15 15:24 | 只看该作者
知道了 谢谢大家

使用特权

评论回复
8
zheng51| | 2011-9-1 21:25 | 只看该作者
6# yewuyi

但是如果是数据缓冲区,需要放在ram中。我编译了一个程序大概只有80多个字节ram,就提示ram不够用了,16f883有256个字节ram啊,除去特殊寄存器,不应该就这一点吧?????

使用特权

评论回复
9
virtualtryon| | 2011-9-1 21:50 | 只看该作者
没办法为变量找到空间,不是空间不够了.
而且没办法找到足够的连续的空间.
PIC的ROM是PAGE的,RAM是分BANK的.
一个bank可用的空间应该在128byte,如果你的变量长度超过128个byte或者是一些已经被分配了.那么就无法分配足够的空间.
像这种常量最好定义为const类型,const是定义在rom空间的,但是rom查表也是要求在一个page的连续空间,如果变量太长,也会有这样的问题.

使用特权

评论回复
10
yewuyi| | 2011-9-1 21:58 | 只看该作者
在PICC9.80版本中针对变量的地址,过去可能需要手工指定到其他BANK,但现在多数依靠PICC也能自动定义过去。

使用特权

评论回复
11
zhoyuping001| | 2011-9-1 22:27 | 只看该作者
每个bank不能超过128字节你连续定义的话就分配不了,结果溢出!

使用特权

评论回复
12
zhoyuping001| | 2011-9-1 22:28 | 只看该作者
每个bank不能超过128字节你连续定义的话就分配不了,结果溢出!

使用特权

评论回复
13
zheng51| | 2011-9-1 23:33 | 只看该作者
晕,刚才还开了个帖子问这个问题,const就不考虑了,因为数组是要修改的,我用的版本9.81的啊,我这样定义可以 bank1 uint data[40];bank2 uint data[40];但是不连续了,应该有什么办法能解决的。。待会去看看手册

使用特权

评论回复
14
WZZ强悍| | 2014-2-25 13:36 | 只看该作者
永不落的星 发表于 2011-6-15 15:24
知道了 谢谢大家

你好,could not find space for variable这个问题是怎么解决的呢?我也遇到了,各种尝试都是报错。

使用特权

评论回复
15
tf526641400| | 2014-4-6 14:27 | 只看该作者
我现在也遇到了这个问题,请问你是怎么解决的?

使用特权

评论回复
16
zhimagod| | 2014-4-6 17:32 | 只看该作者
18的片子修改了.lkr文件手动指定了内存……
这个16么就不清楚了

使用特权

评论回复
17
boy_1991| | 2014-9-3 16:09 | 只看该作者
yewuyi 发表于 2011-6-15 15:15
could not find space (476 bytes) for variable
我翻译给你看:
space:空间的意思

could not find space (1 byte) for variable _hour
你能告诉我qq号码吗?我有问题请教

使用特权

评论回复
18
yewuyi| | 2014-9-3 16:40 | 只看该作者
boy_1991 发表于 2014-9-3 16:09
could not find space (1 byte) for variable _hour
你能告诉我qq号码吗?我有问题请教

这个真的不可以。。。

私人空间,需要安静。

使用特权

评论回复
19
boy_1991| | 2014-9-3 16:48 | 只看该作者
yewuyi 发表于 2014-9-3 16:40
这个真的不可以。。。

私人空间,需要安静。

啊,那您能告诉我怎么解决我遇到的这个问题吗?could not find space (2 bytes) for variable _slow_ad

使用特权

评论回复
20
yklstudent| | 2014-9-3 17:28 | 只看该作者
上具体提示信息

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

6

主题

72

帖子

0

粉丝