fanghuikeer 发表于 2007-9-22 20:48

数组太大程序无法运行怎么办

我现在用'徐士良《fortran常用算法程序集>'里面的定步长四阶龙格-库塔法做数值计算,算法里面有个工作数组
Z(M,N),在我的程序里面取法如下:
parameter(IMAX=100,N=2000001)
real*8 Y(4*IMAX+2),D(4*IMAX+2),Z(4*IMAX+2,N)
运行出错信息为:Error: A common block or variable may not exceed 2147483647 bytes
real*8 Y(4*IMAX+2),D(4*IMAX+2),Z(4*IMAX+2,N)
---------------------------------------^
Error executing df.exe.
不知道为什么会出现这样的错误,假如N=600001时程序可以正常运行,请高手给与指点?
帮我想一下解决办法,不知道有没有其他的四阶龙格-库塔算法子程序可供选择,而且不用定义二维工作数组??

[ 本帖最后由 xinyuxf 于 2007-9-22 22:21 编辑 ]

风花雪月 发表于 2007-10-11 09:20

内存不够用了

只有两种办法
1. 增加内存
2. 减小数组

linqus 发表于 2007-12-18 21:19

A common block or variable may not exceed 2147483647 bytes
这个限制好像是以前compaq fortran的限制。
试试别的frotran compile,如IVF,PGI fortran等等。
还有就是在64bit OS下试试,如linux下。
也许可以。
祝好。
页: [1]
查看完整版本: 数组太大程序无法运行怎么办