C++Builder 程序员博客
21 Aug
我想分析屏幕的图像,想建立一个大型二维数组,用于保存屏幕图像颜色数据。如int aa[1024][768];
系统提示堆栈OverFlow,不知大家有什么办法建立这样的大型数组?
创建全局的,或者静态的.
该回复于2008-08-02 12:36:14被版主删除
用指针试试。
楼主的问题出在申请的数组是局部变量是在堆栈中分配,堆栈的空间有限;
解决办法: 1。用全局变量;2。静态变量 static int aa[1024][768];
3.动态申请,如new , 4.堆heap中申请,malloc 等
#include "alloc.h" // heap
typedef
int AA[768];
int bb[1024][768]; // 全局
void __fastcall TForm1::Button1Click(TObject *Sender)
{
// int aa[1024][768]; 栈中会溢出
static int aa[1024][768]; // 静态
AA * cc =new AA[1024]; // 静态区中分配
AA * dd=(AA *)calloc(1024,768); // 堆中分配,可以海量
ShowMessage("test");
}