首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

大数组处理有关问题

2012-07-25 
大数组处理问题今天接到一个大数组问题,如 int wer[10000],在Vc下编译连接都没有问题,但是运行时就出错了,

大数组处理问题
今天接到一个大数组问题,如 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将数组分配在堆上

热点排行