1、运行fortran时出现forrt1:vere<59>:list-directed I/O syntax error,unit 1,file G:\1\1\meat.dat怎么办
这是通道 1 ,链接到文件 meat.dat 的读写出错了。
这问题你得认真检查类似 read( 1 , * ) 或 write( 1 , * ) 这样的语句,错误原因挺多的。
比如二进制文件用了文本方式读取,比如变量列表与文件不匹配。
问:另外forrt1:vere<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中有两种编译(连接、执行)模式:relea模式和debug模式。调试程序时,宜用debug模式;调好后再用relea模式,得到高效的执行程序。设定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 (未赋初始值的变量)
Unud Variables (从未用到的变量)
Usage (用法)
用了这些选项,可以对很多潜在的问题给予警告,使代码更为规范安全。注意:Uninitialized Variables只对简单变量有效,对数组无效。如果简单变量a未给初值,而用于送医生锦旗用语
b=3.0*a,则编译时将报错,但是如果a是个数组变量,则不报错。(不知后来的Intel VF版本有没有改进?)
另外也建议以下设置:Fortran Standard Checking: Fortran 90/95这样,非标准的、厂家扩充的语法功能就会给出警告。
Visual Fortran常见运行错误
Insufficient virtual memory 虚拟内存不足
Integer overflow 整数溢出错误
Integer divide by zero 整数除0错误
Floating overflow 浮点数溢出错误
Floating divide by zero 浮点数除0错误
Floating underflow 浮点数下溢错误
Floating point exception 浮点数异常错误
Subscript out of range 数组定义超出边界
Floating-point conversion failed 浮点数格式转换失败
Null pointer error 空指针错误
Stack overflow 堆栈溢出
String length error 字符串长度超出允许范围
Substring error 数组下标超出允许范围
chair
鄱阳湖读音Range error 整数值超出允许范围
Allocatable array is already allocated 数组重复定义
Program Exception - array bounds exceeded 引用数组下标超出允许范围
Program Exception - denormal floating-point operand 非法浮点数操作符
Program Exception - floating stack check 浮点数堆栈检查蚂蚁缘槐
Program Exception - integer divide by zero 整数除0错误
Program Exception - integer overflow 整数溢出
Program Exception - privileged instruction 非法执行特权指令
Program Exception - illegal instruction 非法指令
Program Exception - stack overflow 堆栈溢出
Array or substring subscript expression out of range 数组下标低下数组定义下界或高于数组定义上界
CHARACTER substring expression out of range 字符串非法表示
Label not found in assigned GOTO list 不属于GOTO语句引用的标号
INTEGER arithmetic overflow 整数运算结果出现溢出
INTEGER overflow on input 输入的整数值超出允许范围
Invalid INTEGER 非法整数值
REAL indefinite (uninitialized or previous error) 产生非法实数
Invalid REAL 非法实数
REAL math overflow 实数值溢出
No matching CASE found for SELECT CASE lect ca语句中缺少ca项
INTEGER assignment overflow 整数定义超出允许范围
A edit descriptor expected for CHARACTER 字符型数据的格式化输入和输出需要A编辑符