2024年1月21日发(作者:)
常见fortran错误
1. Incrementally linked image--PC correlation disabled.
!编译终止
2. forrtl: severe (157): Program Exception - access violation
!The program tried to read from or write to a virtual address for which it does not have the appropriate
access. Try recompiling with the /check:bounds and /warn:argument_checking options set, to see if the
problem is an out-of-bounds memory reference or a argument mismatch that causes data to be treated as an
address.
Other causes of this error include:
Mismatches in C vs. STDCALL calling mechanisms, causing the stack to become corrupted
References to unallocated pointers Attempting to access a protected (for example, read-only) address
3 "forrtl: severe (64): input conversion error, unit 2, file D:FORTRAN2testi
!文件testi正在读写,直到读写到2时错误。举例:程序想读写整数,却碰到变量故终止。
4 error LNKZOOI : unresolved external symbol _ SN @ 4 fatal error LNKllZO : 1 unresolved externals
! 出现了未指定的外部函数符号 Sn 。这是因为在函数子程序中错把函数名 Sn 写成了 ns 。根据错误信息中的提示,用户在编辑窗口寻找有错位置进行修改。连接错误往往出现在有函数调用或子程序调用的程序中,常见的错误性质有:未定的函数符号、找不到主程序或子程序、实参与虚参的个数不一致等。注意:连接错误只给出错误代号和错误性质,不给出具体语句的行号。
5 :: error FOR229O : implicit type for 1 detected between 1 and = C : abc .
: error FOR33Og : undefined label 10
编译系统提示用户:在程序的第 5 行,变量 i 未经类型说明;在程序的第 H 行,标号 10 未定义。为了便于将 output 窗口中的错误信息与程序中的有错语句对照起来检查,可以双击错误列表中的某一行,此时该行被高亮显示,同时有一个小指针在编辑窗口内指向程序中对应该行错误的语句行.
6 C : abc .f90( 5 ) : error FOR229O : implicit type forx
即编译系统通告用户:在程序“ C :、 abc . fgo ”中的第 5 行发现了错误,错误代号为“ error FoR229o
" ,错误性质是“ implicit type forx " (变量 x 未经类型说明)。
7 run 一 time error M6201 : MATH 一 sqrt : DOMAIN error
该错误为内部函数 sqrt 的定义域错误,即函数 sqrt 的参数不能为负数。
8 边界点的值往区域内部移动
边界变量定义的维数小于实际维数
9 FortranPGMEULER invisicid flowTWODEULER.F90(737) : Warning: In the call to CUCVCUV,
there is no actual argument corresponding to the dummy argument TTT.
CALL CUCVCUV(MP1,NP1,M,N,DELX,DELY,U,V,CU,CV,CUS,CVS,&------^
!调用子程序中,存在一个不存在的哑元变量TTT,建议对其修改。
10 forrtl: severe (161): Program Exception - array bounds exceeded
Image PC Routine Line Source
0041CBD4 Unknown Unknown Unknown
0040CF57 Unknown Unknown Unknown
004722B9 Unknown Unknown Unknown
TWOD 00466264 Unknown Unknown Unknown
7C816FE7 Unknown Unknown Unknow
Incrementally linked image--PC correlation disabled.
Press any key to continue
!超出数组的维数。(即变量的个数太大)
11 --------------------Configuration: TWODEULER - Win32 Debug--------------------
D:FortranPGMEULER invisicid flowTWODEULER.F90
- 0 error(s), 0 warning(s)
!源程序编译,生成一个目标文件。这 是一个二进制文件,便于机器执行。这一点是与matlab的本质区别。
12 D:FortranPGMEULER invisicid flowTWODEULER.F90(5) : Error: This name cannot be assigned
this data type because it conflicts with prior uses of the name. [N]
INTEGER MP1,NP1,M,N,I,J,KP,KH,KVEL
---------------------^
Error executing . - 2 error(s), 0 warning(s)
! PARAMETER 中属性指定后,不能再定义成变量。
内部函数出错信息解释
[sourcefile(line)]run-time error M62××MATH
错误号 函数级数学错误信息
M6201 functionnames:DOMAIN error
函数的自变量超出了约定的取值域,例如sqrt(-1)
Sqrt 定义域错误,不一定是负数,还可能是 NaN,abs(NaN)依然是NaN
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
41 Insufficient virtual memory 虚拟内存不足
70 Integer overflow 整数溢出错误
71 Integer divide by zero 整数除0错误
72 Floating overflow 浮点数溢出错误
73 Floating divide by zero 浮点数除0错误
可能原因:可能是pde文件写的有问题,看看其中的除法运算,有没有除零的情况,改改。或者,前处理的数据,和计算时的数据不一致,如前处理化的网格是三角形,而计算时的单元类型是四边形。
74 Floating underflow 浮点数下溢错误
75 Floating point exception 浮点数异常错误
77 Subscript out of range 数组定义超出边界
95 Floating-point conversion failed 浮点数格式转换失败
146 Null pointer error 空指针错误
147 Stack overflow 堆栈溢出
148 String length error 字符串长度超出允许范围
149 Substring error 数组下标超出允许范围
150 Range error 整数值超出允许范围
151 Allocatable array is already allocated 数组重复定义
161 Program Exception - array bounds exceeded 引用数组下标超出允许范围
162 Program Exception - denormal floating-point operand 非法浮点数操作符
163 Program Exception - floating stack check 浮点数堆栈检查
164 Program Exception - integer divide by zero 整数除0错误
165 Program Exception - integer overflow 整数溢出
166 Program Exception - privileged instruction 非法执行特权指令
168 Program Exception - illegal instruction 非法指令
170 Program Exception - stack overflow 堆栈溢出
540 Array or substring subscript expression out of range 数组下标低下数组定义下界或高于数组定义上界
541 CHARACTER substring expression out of range 字符串非法表示
542 Label not found in assigned GOTO list 不属于GOTO语句引用的标号
543 INTEGER arithmetic overflow 整数运算结果出现溢出
544 INTEGER overflow on input 输入的整数值超出允许范围
545 Invalid INTEGER 非法整数值
546 REAL indefinite (uninitialized or previous error) 产生非法实数
547 Invalid REAL 非法实数
548 REAL math overflow 实数值溢出
549 No matching CASE found for SELECT CASE select case语句中缺少case项
550 INTEGER assignment overflow 整数定义超出允许范围
556 A edit descriptor expected for CHARACTER 字符型数据的格式化输入和输出需要A编辑符
557 E, F, D, or G edit descriptor expected for REAL 实数型数据的格式化输入和输出需要E,F,D,G编辑符
558 I edit descriptor expected for INTEGER 整数型数据的格式化输入和输出需要I编辑符
559 L edit descriptor expected for LOGICAL 逻辑型数据的格式化输入和输出需要L编辑符
568 Multiple radix specifiers 输入或输出语句重复说明
582 Array already allocated 数组已分配
583 Array size zero or negative 数组大小为0或负数
585 Array not allocated 没有被分配的数组
610 Invalid argument 非法参数
616 Invalid number in input 输入非法数字
617 Invalid string in input 输入非法字符串
618 Comma missing in COMPLEX input 输入的多个表达式之间缺少逗号
619 T or F expected in LOGICAL read 输入的逻辑值必须是T或F
622 Illegal character in hexadecimal input 输入非法的十六进制数
637 Integer expected in format 格式语句中要求的整数
638 Initial left parenthesis expected in format 格式语句中多余的左括号
639 Positive integer expected in format 格式语句中要求用正整数
641 Integer expected preceding H, X, or P edit descriptor 在H、X、P编辑符前要求用整数
644 '.' expected in format 在D、E、F、G编辑符中w和d域之间用'.'分隔
645 Unexpected end of format 格式语句没有结束
646 Unexpected character in format 格式语句中的非法字符
647 M field exceeds W field in I edit descriptor 在I编辑符中M域的值大于W域的值
648 Integer out of range in format 格式语句中的整数值超出允许范围
650 Separator expected in format 格式语句中需要分隔符
663 Out of range: substring starting position 'pos' is less than 1 子字符串的起始位置小于1
664 Out of range: substring ending position 'pos' is greater than string length 'len' 子字符串的终止位置大于字符串长度
672 Out of memory 内存不足
718 Cannot allocate temporary array -- out of memory 由于内存不足不能分配临时数组
727 Cannot ALLOCATE allocatable array -- out of memory 由于内存不足不能分配数组
729 DEALLOCATE failure: ALLOCATABLE array is not ALLOCATED 释放没有被分配的数组
发布评论