回 帖 发 新 帖 刷新版面

主题:请教各位大虾:

有一FORTRAN程序在UNIX下gnu77能运行,结果很好,在WINDOWS下VF6.0却问题种种,这是一些源程序!WHY?如何才能解决这个问题(条件是在WINDOWS下VF6.0运行)?谢谢先!
(有高手指点用EXCEED来影射UNIX下环境变量,我不明白)有其他办法吗?
我的邮箱地址:SUNNYLIAOH@yahoo.com

回复列表 (共3个回复)

沙发

或许源代码中用了非标准的语法特性。从gnu77来看,源代码多半是f77编的,而cvf已经是f90的平台。所谓问题种种,是编译问题,连接问题,还是运行问题?贴几个错误信息上来看看。

板凳

mltx老师:
    您好!
    我给忘了,我现在的问题是编译已经能够通过,也能够建立可执行程序(*.exe),就是运行过程中,会出现错误提示:定义的矩阵超出边界.给我程序的人说在unix下运行的结果很好.我只要拿来用就可以了,但是.....
    我现在拿到手是一些源程序,这会跟编译器的环境有关系吗?希望您能继续指导!谢谢

3 楼

只能笼统的说以下几点:

(1) 运行时能对数组越界报错,绝对是好事;
(2) 虽然环境设置中有取消越界报错,但绝不推荐,只有当程序完全调试成功后才建议取消;
(3) 如果该程序是F77编写的,并且没有用动态数组的话,那么就对运行的数据有要求:比较小的问题就正常,问题大到超出了数组的定义范围就出错;
(4) 如果(3)成立,给你程序的人说的没错,而你运行出错也不是该程序的错误(超出了程序中数组定义的范围);这些是语言上的限制,也是为什么要用F90的原因之一。
(5) 你可以尝试运行小问题(不需要大数组的问题),如果一切正常,则该程序基本上属于静态数组的情况。

搞清问题的原因,才好提出对策。

我来回复

您尚未登录,请登录后再回复。点此登录或注册