大数组处理问题
今天接到一个大数组问题,如 int wer[10000],在Vc下编译连接都没有问题,但是运行时就出错了,咋处理呀
求高手指点
如
float V1[10000][6];
[解决办法]
太大了,栈空间不够容纳,声明为全局的吧
[解决办法]
可以申明为全局的,也可以把你的栈空间调大点。VS平台下:项目--属性---配置属性---连接器---系统
[解决办法]
10,000 * 4 * 6 < 240kBytes 应该不是栈空间不够。VC缺省的栈空间是1Mbytes,除非你在程序里还有类似的大数组,加起来超过或者接近了1Mbytes。
解决办法:
1. 增加VC的栈空间。VS2010是这样的菜单)Project->工程名 Properties->Configuration Properties->Linker->System->stack reserve size调大点即可(注意单位是byte)。其它的VC版本应该与此类似。
2. 声明为全局或静态数组
3. 用new或者malloc将数组分配在堆上