打印

这是怎么回事?

[复制链接]
1879|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
jinlehuang|  楼主 | 2011-11-28 16:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
编译时出现这条语句
GUI.C(215): error C241: '_cursorcov': auto segment too large
这是为什么?源码:
/**************************异或函数********************************/
unsigned char **cursorcov(unsigned char **stylen,unsigned char n)
{
unsigned char stylecursorb[4][32],i,j;
// stylecursorb=calloc(n,(32*(sizeof(unsigned char))));
for(i=0;i<n;i++)
for(j=0;j<32;j++)
{
  stylecursorb[i][j]==stylen[i][j]^stylecursor[i][j];
}
return stylecursorb;
}

相关帖子

沙发
sjl2006| | 2011-11-29 17:16 | 只看该作者
unsigned char stylecursorb[4][32] 你的这个局部变量定义非常危险,n大于4时会有内存越界。应该用下面注掉的那个,把calloc的结果赋给一个指针类型的stylecursorb。

使用特权

评论回复
板凳
jinlehuang|  楼主 | 2011-12-1 09:08 | 只看该作者
因为注释掉的那个同样也是这个错误 所以注释掉用数组代替试一下结果还是这样才发了个帖子

使用特权

评论回复
地板
mxh0506| | 2011-12-1 11:54 | 只看该作者
要动态分配存储器的话必须有足够大的“堆”,看看你的链接设置里“堆”是不是足够大;而自动变量是分配在“栈”里,你的“栈”开了多大,能容纳下这么长的数组?

使用特权

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

本版积分规则

个人签名:知识源于积累,成功源于执着!

2

主题

30

帖子

1

粉丝