我的程序中定义了三个结构体:struct1,struct2, struct3。这三个结构体占用的内存大小分别为:40Byte,212Byte,192Byte
然后在文档类中我定义了三个数组成员变量:struct1 array1[737][747],
struct2 array2[737][747],
struct3 array3[737][747]。
然后用数据初始化这三个数组,再去做有关的工作,这些不是重点,程序工作也正常。但是,当我把三个数组的维度都换成[2365][2839]之后(这是唯一的改变),程序运行就提示“创建空文档失败”。我也看到有些人说是系统对应用程序内存大小的限制(我的是32位系统),但是按理我原来的不也超过了限制了吗?是我算错了,还是有其它猫腻在?诚心求解!!!
[2365][2839]这个消耗的是栈空间,太大了,程序默认好像是1~4M吧,不过你可以编译选项设置
这么大的空间最好从堆申请,new malloc之类
不好意思,现在才回。谢谢啦,试了下还是不行,还有其他的解决办法吗?
你最好用 malloc。
试了,还是不行