fortran90常见错误

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1、运行fortran时出现forrt1:severe<59>:list-directed I/O syntax error,unit 1,file G:\1\1\meat.dat怎么办

这是通道1 ,链接到文件meat.dat 的读写出错了。

这问题你得认真检查类似read( 1 , * ) 或write( 1 , * ) 这样的语句,错误原因挺多的。

比如二进制文件用了文本方式读取,比如变量列表与文件不匹配。

问:另外forrt1:severe<161>:program exception -array bounds exceeded是怎么回事?

回答:数组越界,也是很常见的错误。比如real a(100)如果你使用了a(101) 就会越界,因为a 数组只有100 个元素。

2、fortran运行提示error M6201:math-**,现将代码贴出,求高手帮忙看看,急求解答!我不能确定你的错误是怎么引起的。可能咱们的编译器不同。

你的代码在我这里的问题是:

虚参和实参精度不同。在程序中,你定义了部分real*8,但是对应的虚参和返回值却定义为real。比如主程序里的z1(双精度),传入函数g里面的x却定义为单精度。

主程序Do 死循环了。z2_jiashe和z2_suan每一次循环都没有发生改变,于是永远跳不出循环。

我给你的建议是:

同一个程序,统一使用real*8 或real*4,尽量不要混用,除非你很自信能理清他们的关系。

检查Do 循环,尤其是z2_jiashe 和z2_suan,是否应该每次循环不同?

fortran_排除错误(2012-04-20 23:22:44)

安装好VISUAL FORTRAN后

1、运行Developer studio即可开始编译FORTRAN程序

2、选择File菜单中的New选项

3、在弹出的对话框选择projects标签,其他标签不用管,projects格式选用Fortran console application;在project name里命名(最好英文名),点击“ok ”

4、接下来画面中,选择“an empty project”,点击“finish”

5、接下来画面点击“ok”

6、再选择一次File菜单中的new

7、对话框选用files标签,选择Fortran free format source file ,并在file里命名

8、点击“ok”

Source Files 放源文件(.c、.cpp)程序的实现代码全放在这里

Header Files 放头文件(.h)声明放在这里

Resource Files 资源文件(.rc)放图标、图片、菜单、文字之类的,主要用来做界面的东东一般都放这里

External Dependencies 除上三种以外的,程序编译时用到的文件全放这里

fortran内部函数出错信息解释

内部函数出错信息解释

[sourcefile(line)]run-time error M62××MATH

错误号函数级数学错误信息

M6201 functionnames:DOMAIN error

函数的自变量超出了约定的取值域,例如sqrt(-1)

M6202 functionname:SING error

无意义的变量。例如log10(0)

M6203 functionname:OVERFLOW error

函数的结果值或其中一个既时计算值太大以致不能表示,例如EXP(250000.0) M6204 functionname:UNDERFLOW error

函数的结果值或其中一个既时计算值太小以致不能表示。

M6205 functionname:TLOSS error

完全丢失精度,例如COS(1E30)

M6206 functionname:PLOSS error

fortran debug模式设置和技巧

CVF中有两种编译(连接、执行)模式:release模式和debug模式。调试程序时,宜用debug 模式;调好后再用release模式,得到高效的执行程序。设定debug模式:点击菜单

Build/Set Active Project Configuration,选*- Win32 Debug,OK,即设定为debug模式。以debug 模式执行:点击“Go (F5)”按钮,或直接按F5键,则执行程序,并在第

一个出错语句处停止,在该语句前有一个小黄色箭头。若程序没错,则一直执行完毕,自动

关闭dos窗口。此时,宜用“!”按钮或“Ctrl+F 5”键,执行完成后,dos窗口等

待用户关闭。设置断点:若希望执行时在某一语句处暂停,可将光标置于该语句,点击“手”形状的按钮,或按F9键,则程序执行到该语句时停在该语句处。单步执行:F10

(不进入子过程程序段)或者F11(遇到子过程进入子过程程序段继续单步执行)。在工具栏上都有相应的按钮。查看变量值:小黄箭头停在某语句时,按下Variable按钮,

显示当前程序段的变量值;对于简单变量,将光标放在该变量上,则即时显示该变量值。先简单说这么多。

如何用Debug模式获得更多的提示信息

依次选择/打开:Project => Settings => Fortran => Compilation Diagnostics

建议选中以下各项:

Argument Mismatch (类型不一致)

Data Alignment (数据排列错位)

Uncalled Routines (从无调用的子过程)

Undeclared Symbols (未声明变量、过程等)

Uninitialized Variables (未赋初始值的变量)

Unused Variables (从未用到的变量)

Usage (用法)

用了这些选项,可以对很多潜在的问题给予警告,使代码更为规范安全。注意:Uninitialized Variables只对简单变量有效,对数组无效。如果简单变量a未给初值,而用于

b=3.0*a,则编译时将报错,但是如果a是个数组变量,则不报错。(不知后来的Intel VF版本有没有改进?)

相关文档
最新文档