内存空间的大小吧
原来在做实时数据库的时候,整个数据库在内存中存在
在malloc申请内存空间的时候就因为内存不足而申请失败

解决方案 »

  1.   

    每个程序有默认栈大小(4M好像)
    project->setting什么的,可以设置过大的内存分配最好还是放在堆里动态分配。
      

  2.   

    动态分配,例子:struct AAA{
    LPSTR name;
    int kkk;
    };void CDialog1::OnButton1() 
    {
    AAA (*myaaa)[1000];
    myaaa = new AAA[1000][1000]; myaaa[0][1].name="sdffsdfssfsdffffsdfs"; ::MessageBox(0,myaaa[0][1].name,"",MB_OK);
    delete[] myaaa;
    }
      

  3.   

    静态分配 会增加程序的size
      

  4.   

    不会吧?未赋初值的静态变量不影响可执行文件的大小。我在练排序的时候用过 50000000 (五千万)个元素的静态全局整型数组,运行时要 190MB 的内存,但可执行文件只有几十KB大小。另外 32 位的程序对应着 4G 的内存空间,你的内存交换文件如果没限制大小分配静态空间时一般不会出现 Out of Memory 。