'Stack overflow' ,堆栈溢出的问题怎么解决,是不是我函数定义的变量过多了,还是怎么样了?有没有相关的资料说明?

解决方案 »

  1.   

    在WINDOWS中,每个程序在内存中是独立的4GB空间,你就是再怎么定义变量,也不至于到这个溢出程度吧?
      

  2.   

    数组设置太长有可能会出现这种错误。你可以在Project-Options-Linker下,设置一下Max Stack Size
      

  3.   

    我今天刚研究了一个。
    用 VC 写的DLL,用Delphi 调用。
    结果就出了这样的事情,
    原因是Delphi用 stdcall调用,C 用 cdcall写的。
    参数压栈错误,也会出这样的报错。
      

  4.   

    不好意思,那个代码实在太长,而且不止一个,我只能这样子提问,大概就是我自己定义了一个矩阵类型,像这样:const MAXROW=300;
    const MAXCOL=300;
    type TMatStr=array[0..MAXROW-1,0..MAXCOL-1] of String;
    然后我要拿这种类型去实现矩阵乘,求逆,和左右除吧,这些都能编译通过,但是在测试的时候,给矩阵初始化就出了问题
    像这样:var
      x,y,Res:TMatStr;
      
      For I:=0 to 7 do
        x[I][0]:=random(5);//其实一个是没问题的,两个就出问题了
      For I:=0 to 7 do
        y[I][0]:=random(10);
      …………………………问题大概是这样咯,现在我也找不出办法
    只好试着用一维动态数组去实现矩阵,还在努力当中……