打印

定义大型数组出错了,如何解决

[复制链接]
1110|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
dongbaohui|  楼主 | 2015-12-26 17:32 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
enginezhong| | 2015-12-27 11:44 | 只看该作者
不要在函数里面定义超过几十个字节的数组,不然很容易出问题。

使用特权

评论回复
板凳
电子玩霸| | 2015-12-28 08:48 | 只看该作者
定义在程序中,临时的堆栈不够用的,你这个数组太大了

使用特权

评论回复
地板
原味_郭| | 2015-12-29 08:17 | 只看该作者
定义全局变量,或者用内存管理。

使用特权

评论回复
5
Classover| | 2015-12-29 21:23 | 只看该作者
定义成局部变量必死。

使用特权

评论回复
6
yesherecn| | 2015-12-30 16:38 | 只看该作者
可以采用双缓冲,2个缓存,A,B,各512字节。 当A收满512字节的时候,接收数据存放到B,同时,将A的数据写入SD卡。  
等待B满的时候,接收数据存放到A,同时将B的数据写入SD卡。 依次循环。

使用特权

评论回复
7
tomyoct| | 2015-12-31 16:54 | 只看该作者
启动文件里面对栈的大小有固定的值。函数里面的数组是在调用该函数的时候,才给你分配空间。数组过大,栈溢出了,有可能覆盖了其他全局变量的值。如果使用很大的数组,可以定义成一个全局变量。如果使用的有os。就使用内存管理。

使用特权

评论回复
8
MTCN2013| | 2015-12-31 22:15 | 只看该作者
可以试试修改堆栈试试,把堆栈值修改变大。

使用特权

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

本版积分规则

16

主题

172

帖子

0

粉丝