关于C++数组长度上限的问题,急!

来源:百度知道 编辑:UC知道 时间:2024/06/17 10:03:57
在开头定义了一个宏#define LENGTH 16
然后在后面定义一个数组StringGroup X[LENGTH];
StringGroup是我自己定义的类,然后后面是各种排序操作。
然后通过改LENGTH的值修改数组长度进行调试,16,64....16384都没问题,但是改到65536以上就不行了,编译通过,不过运行会报错。。。(里面所有的整数都用的long int)怎么回事啊,怎么解决啊?急啊,明天就交报告了!

不明白什么意思 这个数组是不是一个局部变量 如果是局部变量 那么很正常 因为栈很小

如果是全局变量的话 应该不会出现这个问题的 除非你使用的是tc之类的编译器 因为在dos下面总共只有1m的内存空间 数组太大了就会内存不足

再说了 主意优化下算法 什么东西非要用 这么多个元素的数组

程序中默认的是1M

调试程序的时候

会出现溢出的现象

这时候可以调整栈的大小来解决这个问题

依次操作菜单如下:Project->Setting->Link,在Category 中选中Output,然后 在Reserve中设定堆栈的最大值和commit。

将保留中的值改成0x9000000,即可。为9M

看下面链接的图片就可以。。。。