首页 新闻 会员 周边 捐助

C++二维数组大小限制问题

0
悬赏园豆:5 [已解决问题] 解决于 2016-12-08 13:47

开发环境:Win7 64位系统,VS2010;

具体问题:

声明数组float intensityArray[100][600],运行没问题;

声明数组float intensityArray[500][600],运行错误,如图:

C++
晨光iABC的主页 晨光iABC | 初学一级 | 园豆:198
提问于:2016-11-24 14:04
< >
分享
最佳答案
0
  • 默认情况下,VS2010设置的栈大小为1M,如果申请的临时变量太大的话就会超过栈大小,造成栈溢出;
  • 在VS2010的默认情况下,32位程序可以申请的堆大小最大是2G,实际上只能小于2G;而64位程序,如果没有虚拟内存(硬盘)的支持,则可以使用128G的内存(比如说,你有8G内存,就可以使用8G内存),而如果把虚拟内存开启,则可以理论上得到16TB的内存使用大小。
晨光iABC | 初学一级 |园豆:198 | 2016-11-24 14:54
其他回答(2)
0

栈内存是有限的.大内存在堆里申请吧.别弄栈里.

收获园豆:5
吴瑞祥 | 园豆:29449 (高人七级) | 2016-11-24 14:35
0

栈内存是有限的。VS2010默认是1M.如果想要申请较大的空间时,不建议使用栈,使用堆内存更好一些。

fcyh | 园豆:568 (小虾三级) | 2017-04-04 13:48
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册