函数中定义一个大数组,却stack overflow?

  一般情况下,如果自己在函数中定义了一个非常非常大的数组,导致stack overflow,肯定第一件事情就是自己回头优化下自己的代码,不要用这么大的内存。但是如果经过千辛万苦的优化还是不行,那么:

  (1) 用new的方法,从堆中申请内存,而不是在栈中。理论上内存中,堆比栈可以用的空间要多很多,栈在vs2010中默认1M,堆理论上2G(32位程序)。

  (2) 如果在vs中,可以通过修改vs的Stack Reserve Size(默认这个值为1M),单位是byte。方法: Project->你的项目名字->Configuration Properties->Linker->System.

  (3) 在程序中直接修改,这个还没用过,自己百度。

  

  有篇文章分析的还算详细,分享下:

  关于栈,堆,静态存储课分配大小的探讨。

  http://www.liaoqiqi.com/blog/2010/discussion-about-the-memory-allocation-using-heap-stack-static-area/

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Stack Overflow 是一个免费的编程问答网站,提供程序员之间的即时交流支持。只需要在网站上注册一个账号,就可以开始使用Stack Overflow了。你可以搜索历史问题,或者提出新的问题,并得到社区的帮助解决你的问题。 ### 回答2: Stack Overflow是一个知名的问答社区,用户可以在上面提问和回答与编程相关的问题。以下是如何使用Stack Overflow的简要步骤: 1. 注册账号:首先,你需要在Stack Overflow的网站上注册一个账号。注册账号后,你可以开始提问和回答问题。 2. 搜索问题:在提问之前,先使用搜索功能查看是否已经有类似的问题和答案。Stack Overflow上已经有很多问题的解答,你可能会找到对你问题的完整答案。 3. 提问问题:如果没有找到合适的答案,可以点击“Ask Question”按钮提问。在提问之前,要确保你的问题清晰明确,并提供足够的背景信息和代码示例。这样会帮助其他用户更好地理解你的问题。 4. 关注问题:在问题被发布后,你可以关注它以接收到后续的回答和评论。当有用户回答你的问题时,你会收到通知。 5. 回答问题:除了提问以外,你也可以回答其他用户的问题。如果你对某个问题有解答,可以在评论或回答分享你的见解和经验。 6. 遵守规则:使用Stack Overflow时,要遵守社区的规则和准则。例如,避免提问模糊或过于主观的问题,同时也要尊重其他用户的意见和回答。 7. 探索其他功能:Stack Overflow不仅仅是一个问答社区,还有丰富的功能和资源。你可以浏览标签以查看与你感兴趣的主题相关的问题,还可以参与到探讨特定话题的论坛讨论。 总之,Stack Overflow是一个宝贵的资源,可以帮助你解决编程遇到的问题,并与全球的开发者社区互动交流。通过提问和回答问题,你不仅可以解决自己的问题,还可以为其他人提供帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值