数组扩大后,编译器没说出错但程序运行不了

2019-07-20 21:06发布

u16 *q,wordcolor=0xf100; u8 a,b,numchar[5],input[]={' ',' ',' ',' ',' '},i,k; u16 xy[5][2],lcdx,lcdy,scannum,j,cache1[300],cache2[300]; 主函数就定义这些变量,当把cache1和cache2的大小都变到500的时候,程序就执行不了了,用的是战舰开发板,要是RAM不够大的话,编译器会报错吗?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
11条回答
jermy_z
1楼-- · 2019-07-21 00:55
你是在函数内部还是外部定义的

在内部,堆栈不够

声明成全局数组
微粒
2楼-- · 2019-07-21 01:12
回复【2楼】jermy_z:
---------------------------------
'大哥正解啊,在内部,换到外面果断可以了,不过这里的堆栈是什么意思,为什么会有这个,堆栈不是在保护断点的时候才用的吗?
jermy_z
3楼-- · 2019-07-21 05:10
回复【3楼】微粒:
---------------------------------
自行百度堆栈
微粒
4楼-- · 2019-07-21 05:36
 精彩回答 2  元偷偷看……
lol
5楼-- · 2019-07-21 08:34
 精彩回答 2  元偷偷看……
czdspeed
6楼-- · 2019-07-21 12:23
lol 发表于 2016-7-26 10:46
您好,我现在也遇到了类似问题。但是我一直定义的就是全局数组啊,数据量扩大一点以后是程序不报错,但是 ...

你这个是不是内存不够用了,这个提示上说了“No space”啊。

一周热门 更多>