由买买提看人间百态

topics

全部话题 - 话题: tdlda
(共0页)
b********e
发帖数: 109
1
来自主题: Computation版 - Fotran77程序的移植问题
我在Fortran PowerStation 4 下使用一个程序,发现不能debug,可以设置断点,但是程
序并不停。于是考虑移植到Visaul Fortran 6.6下,发现可以调试,也可以编译通过,但
是执行是却遇到stack overflow的问题,后来发现是一个子程序的数组定义有问题,但是
在Powerstation4 下却可以执行。那个子程序数组定义如下:
SUBROUTINE GHMAT7(NE,CONE,TUINV,TDLDA)
COMPLEX TUINV(NROWS,NROWS),TDLDA(NROWS)
INTEGER CONE(NE,4),VB_ID
COMMON N,NP,INP,IPR,ITX
COMMON /GEOMET/NROWS,NCOLM
结果发现程序运行到第一行和第二行是均发现溢出,为什么Powerstation中可以通过运
行呢?
BTW, NROWS值为600。
i****d
发帖数: 255
2
来自主题: Computation版 - Fotran77程序的移植问题
Depending on the compiler, the definition of an array like
COMPLEX TUINV(NROWS,NROWS),TDLDA(NROWS)
with NROWS passed by COMMON, is problematic. Just think
of what happens if NROWS is modified in your subroutine.
Add NROWS to the arguments of the subroutine.




(共0页)