免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: strato
打印 上一主题 下一主题

求助:为什么在试图读取一个超大容量数组的时候会出错? [复制链接]

论坛徽章:
0
11 [报告]
发表于 2005-11-11 13:41 |只看该作者
代码区是不能改的。
原帖由 依赛特小子 于 2005-11-11 13:32 发表


好像不是stack 吧!代码区吧,代码区的管理是sys的问题,分配多大我也不知道

论坛徽章:
0
12 [报告]
发表于 2005-11-11 14:03 |只看该作者
默认情况下windows下栈的大小是1M。
可以通过调整连接器的开关
右键点击你的项目,在菜单里面选项目属性,然后设置连接器的属性,应当是reserved stack size,即保留堆栈尺寸为STACK:40000000,我现在手头只有vc 2005 express,记不清在vc6里面是怎样的了,搞不清前面的那个数字的单位是mb还是b,你自己试一下吧,反正应当是在连接器属性里面,把默认堆栈尺寸该大一些。

论坛徽章:
0
13 [报告]
发表于 2005-11-11 14:27 |只看该作者
下标从0开始,注意。
在你定义的数组里面不应该有v[1000000000]

论坛徽章:
0
14 [报告]
发表于 2005-11-11 14:36 |只看该作者
原帖由 renstone921 于 2005-11-11 14:03 发表
默认情况下windows下栈的大小是1M。
可以通过调整连接器的开关
右键点击你的项目,在菜单里面选项目属性,然后设置连接器的属性,应当是reserved stack size,即保留堆栈尺寸为STACK:40000000,我现在手头只有vc ...


LINK->OUTPUT->reserved stack size
即使这样修改了意义也不是很大,保留栈设得太大好象总有莫名其妙的毛病,老老实实从堆里分配吧;

int [x] = long int !!

论坛徽章:
0
15 [报告]
发表于 2005-11-11 21:45 |只看该作者

回复 13楼 晏东 的帖子

老大,为什么我定义的数组里面不应该有v[1000000000] ?我的确不明白。

论坛徽章:
0
16 [报告]
发表于 2005-11-11 21:46 |只看该作者

回复 13楼 晏东 的帖子

坦率点讲,我认为目前各位师傅给我的解释都不能够令人信服。但是,还是谢谢大家。
难道就不能创建一个1千万元素的数组吗?

[ 本帖最后由 strato 于 2005-11-12 02:24 编辑 ]

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
17 [报告]
发表于 2005-11-12 08:42 |只看该作者
这么像我们 C语言竞赛的一道题呢?
为什么要建立这么一个数组?有意义吗?

论坛徽章:
0
18 [报告]
发表于 2005-11-12 08:47 |只看该作者
e:workdatastructure        est1main.cpp(7) : error C2440: '=' : cannot convert from 'long' to 'int [10000000]'

别的先不说,这个错误不明显吗?你的数组是int,赋给的i是long型

  1. int v[10000000];
  2.   long  i;
  3.   for (i=1; i<=10000000; i++)  v [ i ]=i;      //?
复制代码

论坛徽章:
0
19 [报告]
发表于 2005-11-12 11:13 |只看该作者
各位老大,我还是不知道我错在哪里。但是我已经把我的代码中已知的错误改过了。
另外,这个代码是有意义的。我最近在编写了一个代码后想要用很大量的一组数据进行测试,所以,我打算把这组数据放在一个1千万的数组中(数组不是很方便吗:),然后我就发现了这样一个问题:我发现似乎无论如何,我没办法访问一个超大的数组(比如这里的1千万个元素)。真糟糕,我不明白问题出在哪里,所以我就写了贴子中的代码,请教一下大家!

论坛徽章:
0
20 [报告]
发表于 2005-11-12 14:02 |只看该作者
这么大的数组,放在栈中不太好吧,还是用堆里的吧,只要内存够用就没有什么问题!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP