找回密码
 注册
查看: 5209|回复: 6

Fortran power Station 与Visual Fortran

[复制链接]
发表于 2002-6-11 22:51:48 | 显示全部楼层 |阅读模式

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

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

x

    我编写的好几个CFD程序在Fortran power Station 4.0 下编译、连接正确,运行和计算结果都合理,移植到CompaqVisual Fortran 6.6 下编译和连接也没有问题,运行到一定程度就弹出出错信息:
   Unhanded Exception in *.exe(我的工程文件名)xC000008C:array Bounds Exceeded.(数组超界),
这是怎么回事?请各位大虾诊断。(原程序都很长,80余页,无法贴出来),谢了先!!!
发表于 2002-6-12 04:41:38 | 显示全部楼层

Fortran power Station 与Visual Fortran

您试着检查一下是否在子程序中采用了可变数组的定义:就是数组的大小是在子程序中由亚元传入的。
发表于 2002-6-13 09:25:09 | 显示全部楼层

Fortran power Station 与Visual Fortran

因为powstation对数组越界不报错,而vfor对数组越界是报错的。你的程序有问题,很好解决,vfor里面有提示哪一行出错,仔细检查!!!
 楼主| 发表于 2002-6-13 11:10:17 | 显示全部楼层

Fortran power Station 与Visual Fortran

   Thank you for your tips!
发表于 2002-6-13 20:54:09 | 显示全部楼层

Fortran power Station 与Visual Fortran

我有同样的问题。
近些天升级了编译器到VF6.0,在power station 4.0上稳定使用了几年的程序,不好用了。
出错的位置是一个写数据文件的模块,使用了数组长度的哑元,根据大侠shyang5的提示,是否我类似的子程序需要重写?
发表于 2002-6-13 22:53:32 | 显示全部楼层

Fortran power Station 与Visual Fortran

不用,调整亚元,使其前后一致就可以。
发表于 2002-7-13 05:07:34 | 显示全部楼层

Fortran power Station 与Visual Fortran

原因在于: power station 4.0 可以在主程序开头定义很大的数组(只要磁盘有足够的交换空间)。而visual fortran 从5.0版开始就有点象c/c++语言编译器。32位的c/c++编译器如果在主函数main直接定义很大大数组是不行的,必须使用动态分配。 你的fortran程序可能比较老,用4.0 比较合适,如果要用visual fortran 6.0,必须将主程序首部的到数组全部改为动态分配。

您需要登录后才可以回帖 登录 | 注册

本版积分规则

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