找回密码
 注册
查看: 2314|回复: 4

为何会出现“stack overflow”,救命!!

[复制链接]
发表于 2006-12-20 18:59:24 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
紧急求救!!!!!!!!!
    我使用的是fortran4.0,在计算过程中,为导出各个时间点的数据,采用在某个
时间点调用输出函数的方法进行,如果以bian(i,j,4)代表在主程序运行中每个网
格点处的密度、x速度、y速度、压力,x-bian(i,j,4)为中间变量,如下所示:
  ...
  if(t==1)then
    x-bian=bian
    call outdata(x-bian)  !在outdata子程序中,各参数以某种格式输出
  endif
  ...
    当选择输出6个时间点的数据时,程序就会在某一步出现“stack overflow”的错误!
但当减少几个时间点的数据输出时,程序就正常运行。
    为什么?我查了很久,就是解决不了,郁闷啊!!
    请各位高手指点指点!!
    在此,先谢谢了!!!!
发表于 2006-12-23 01:37:31 | 显示全部楼层

为何会出现“stack overflow”,救命!!

代码也太少了吧,你敢保证是这块代码出的问题吗? stack overflow我想有可能是递归或者什么原因导致的。不过从来没用过fortran 4.0,不太清楚允不允许的说。
发表于 2006-12-28 13:16:39 | 显示全部楼层

为何会出现“stack overflow”,救命!!

不知道你的程序用的数组是不是很大,如果很大的话。可以加大stack容量。默认可能是1M吧。
发表于 2006-12-29 22:40:02 | 显示全部楼层

为何会出现“stack overflow”,救命!!

把stack设大点就可以了
发表于 2007-1-18 18:31:58 | 显示全部楼层

为何会出现“stack overflow”,救命!!

呵呵,我用的C,遇到过被称为是堆栈错误的东西,堆栈用英文就是stack,不晓得跟这个有没有关系.
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表