数组的最大能有多大?

srhouyu 2008-10-05 04:53:45
void main()
{
int buffer[600*600];
}

我用的VC 2008,写上面这几句程序,RELEASE版运行没有问题,DEBUG版的一运行直接就说0xC00000FD: Stack overflow

这是怎么回事?这么大的数组在DEBUG下是不可能的吗?
...全文
90 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
srhouyu 2008-10-05
  • 打赏
  • 举报
回复
谢谢。

这是一个600*600的32位色图片。
aay.zhang 2008-10-05
  • 打赏
  • 举报
回复
[Quote=引用楼主 srhouyu 的帖子:]
void main()
{
int buffer[600*600];
}

我用的VC 2008,写上面这几句程序,RELEASE版运行没有问题,DEBUG版的一运行直接就说0xC00000FD: Stack overflow

这是怎么回事?这么大的数组在DEBUG下是不可能的吗?
[/Quote]

这个跟你的设置有关 你可以在编译器选项里找到 把stack设大点就行了
其实你可以动态在堆上申请空间
int* buffer;
buffer=new int[600*600]
堆上申请基本只和你的可用内存大小有关了

p.s.这么大的缓冲除非你要完成特种目的 否则需要重新设计算法了

64,637

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧