由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Computation版 - Fotran77程序的移植问题
相关主题
Fortran里面子程序用END和END SUBROUTINE结尾有什么区别?Fortran里面哪个函数显示系统时间?
a question about mpi-fortranhelp on interface for Matlab and Fortran
problem about Fortran 77 in unixRe: fortran subroutine and function
请教一个程序调用问题(FORTRAN DLL),谢谢!偶也问一fortran问题
弱问:FORTRAN90调用子程序问题Fortran code optimization
问一个FORTRAn的问题!Fortran 90 中有没有计算程序运行时间的内部函数?
[转载] Fortran程序一问。MPI Write?
[合集] Matlab输出的文件怎么读进fortran?[转载] 问一个fortran的问题
相关话题的讨论汇总
话题: nrows话题: tdlda话题: tuinv话题: common话题: subroutine
进入Computation版参与讨论
1 (共1页)
b********e
发帖数: 109
1
我在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。
g********e
发帖数: 106
2
VF可以调stack容量的吧.

【在 b********e 的大作中提到】
: 我在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中可以通过运

g********e
发帖数: 106
3
FPS4老爷车据说在win98下是可以debug的.欧没试过.
VF6.5下Project->settings->link->output
将stack allocations reserve改大点.别超过机器
内存就是了.6.6也差不多吧

【在 g********e 的大作中提到】
: VF可以调stack容量的吧.
i****d
发帖数: 255
4
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.






【在 b********e 的大作中提到】
: 我在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中可以通过运

1 (共1页)
进入Computation版参与讨论
相关主题
[转载] 问一个fortran的问题弱问:FORTRAN90调用子程序问题
再问一个fortran的问题问一个FORTRAn的问题!
Problems about Mex-file to call Fortran[转载] Fortran程序一问。
[求教]请各位推荐解大型矩阵的子程序 (转载)[合集] Matlab输出的文件怎么读进fortran?
Fortran里面子程序用END和END SUBROUTINE结尾有什么区别?Fortran里面哪个函数显示系统时间?
a question about mpi-fortranhelp on interface for Matlab and Fortran
problem about Fortran 77 in unixRe: fortran subroutine and function
请教一个程序调用问题(FORTRAN DLL),谢谢!偶也问一fortran问题
相关话题的讨论汇总
话题: nrows话题: tdlda话题: tuinv话题: common话题: subroutine