您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > fortran常见错误及其原因
常见fortran错误1.Incrementallylinkedimage--PCcorrelationdisabled.!编译终止2.forrtl:severe(157):ProgramException-accessviolation!Theprogramtriedtoreadfromorwritetoavirtualaddressforwhichitdoesnothavetheappropriateaccess.Tryrecompilingwiththe/check:boundsand/warn:argument_checkingoptionsset,toseeiftheproblemisanout-of-boundsmemoryreferenceoraargumentmismatchthatcausesdatatobetreatedasanaddress.Othercausesofthiserrorinclude:MismatchesinCvs.STDCALLcallingmechanisms,causingthestacktobecomecorruptedReferencestounallocatedpointersAttemptingtoaccessaprotected(forexample,read-only)address3forrtl:severe(64):inputconversionerror,unit2,fileD:\FORTRAN2\testi!文件testi正在读写,直到读写到2时错误。举例:程序想读写整数,却碰到变量故终止。4errorLNKZOOI:unresolvedexternalsymbol_SN@4fatalerrorLNKllZO:1unresolvedexternals!出现了未指定的外部函数符号Sn。这是因为在函数子程序中错把函数名Sn写成了ns。根据错误信息中的提示,用户在编辑窗口寻找有错位置进行修改。连接错误往往出现在有函数调用或子程序调用的程序中,常见的错误性质有:未定的函数符号、找不到主程序或子程序、实参与虚参的个数不一致等。注意:连接错误只给出错误代号和错误性质,不给出具体语句的行号。5::errorFOR229O:implicittypefor1detectedbetween1and=C:\abc.:errorFOR33Og:undefinedlabel10编译系统提示用户:在程序的第5行,变量i未经类型说明;在程序的第H行,标号10未定义。为了便于将output窗口中的错误信息与程序中的有错语句对照起来检查,可以双击错误列表中的某一行,此时该行被高亮显示,同时有一个小指针在编辑窗口内指向程序中对应该行错误的语句行.6C:\abc.f90(5):errorFOR229O:implicittypeforx即编译系统通告用户:在程序“C:、abc.fgo”中的第5行发现了错误,错误代号为“errorFoR229o,错误性质是“implicittypeforx(变量x未经类型说明)。7run一timeerrorM6201:MATH一sqrt:DOMAINerror该错误为内部函数sqrt的定义域错误,即函数sqrt的参数不能为负数。8边界点的值往区域内部移动边界变量定义的维数小于实际维数9FortranPGM\EULERinvisicidflow\TWODEULER.F90(737):Warning:InthecalltoCUCVCUV,thereisnoactualargumentcorrespondingtothedummyargumentTTT.CALLCUCVCUV(MP1,NP1,M,N,DELX,DELY,U,V,CU,CV,CUS,CVS,&------^!调用子程序中,存在一个不存在的哑元变量TTT,建议对其修改。10forrtl:severe(161):ProgramException-arrayboundsexceededImagePCRoutineLineSourceTWODEULER.exe0041CBD4UnknownUnknownUnknownTWODEULER.exe0040CF57UnknownUnknownUnknownTWODEULER.exe004722B9UnknownUnknownUnknownTWODEULER.exe00466264UnknownUnknownUnknownkernel32.dll7C816FE7UnknownUnknownUnknowIncrementallylinkedimage--PCcorrelationdisabled.Pressanykeytocontinue!超出数组的维数。(即变量的个数太大)11--------------------Configuration:TWODEULER-Win32Debug--------------------CompilingFortran...D:\FortranPGM\EULERinvisicidflow\TWODEULER.F90TWODEULER.OBJ-0error(s),0warning(s)!源程序编译,生成一个目标文件。这TWODEULER.OBJ是一个二进制文件,便于机器执行。这一点是与matlab的本质区别。12D:\FortranPGM\EULERinvisicidflow\TWODEULER.F90(5):Error:Thisnamecannotbeassignedthisdatatypebecauseitconflictswithpriorusesofthename.[N]INTEGERMP1,NP1,M,N,I,J,KP,KH,KVEL---------------------^Errorexecutingdf.exe.TWODEULER.OBJ-2error(s),0warning(s)!PARAMETER中属性指定后,不能再定义成变量。内部函数出错信息解释[sourcefile(line)]run-timeerrorM62××MATH错误号函数级数学错误信息M6201functionnames:DOMAINerror函数的自变量超出了约定的取值域,例如sqrt(-1)Sqrt定义域错误,不一定是负数,还可能是NaN,abs(NaN)依然是NaNM6202functionname:SINGerror无意义的变量。例如log10(0)M6203functionname:OVERFLOWerror函数的结果值或其中一个既时计算值太大以致不能表示,例如EXP(250000.0)M6204functionname:UNDERFLOWerror函数的结果值或其中一个既时计算值太小以致不能表示。M6205functionname:TLOSSerror完全丢失精度,例如COS(1E30)M6206functionname:PLOSSerror41Insufficientvirtualmemory虚拟内存不足70Integeroverflow整数溢出错误71Integerdividebyzero整数除0错误72Floatingoverflow浮点数溢出错误73Floatingdividebyzero浮点数除0错误可能原因:可能是pde文件写的有问题,看看其中的除法运算,有没有除零的情况,改改。或者,前处理的数据,和计算时的数据不一致,如前处理化的网格是三角形,而计算时的单元类型是四边形。74Floatingunderflow浮点数下溢错误75Floatingpointexception浮点数异常错误77Subscriptoutofrange数组定义超出边界95Floating-pointconversionfailed浮点数格式转换失败146Nullpointererror空指针错误147Stackoverflow堆栈溢出148Stringlengtherror字符串长度超出允许范围149Substringerror数组下标超出允许范围150Rangeerror整数值超出允许范围151Allocatablearrayisalreadyallocated数组重复定义161ProgramException-arrayboundsexceeded引用数组下标超出允许范围162ProgramException-denormalfloating-pointoperand非法浮点数操作符163ProgramException-floatingstackcheck浮点数堆栈检查164ProgramException-integerdividebyzero整数除0错误165ProgramException-integeroverflow整数溢出166ProgramException-privilegedinstruction非法执行特权指令168ProgramException-illegalinstruction非法指令170ProgramException-stackoverflow堆栈溢出540Arrayorsubstringsubscriptexpressionoutofrange数组下标低下数组定义下界或高于数组定义上界541CHARACTERsubstringexpressionoutofrange字符串非法表示542LabelnotfoundinassignedGOTOlist不属于GOTO语句引用的标号543INTEGERarithmeticoverflow整数运算结果出现溢出544INTEGERoverflowoninput输入的整数值超出允许范围545InvalidINTEGER非法整数值546REALindefinite(uninitializedorpreviouserror)产生非法实数547InvalidREAL非法实数548REALmathoverflow实数值溢出549NomatchingCASEfoundforSELECTCASEselectcase语句中缺少case项550INTEGERassignmentoverflow整数定义超出允许范围556AeditdescriptorexpectedforCHARACTER字符型数据的格式化输入和输出需要A编辑符557E,F,D,orGeditdescriptorexpectedforREAL实数型数据的格式化输入和输出需要E,F,D,G编辑符558IeditdescriptorexpectedforINTEGER整数型数据的格式化输入和输出需要I编辑符559LeditdescriptorexpectedforLOGICAL逻辑型数据的格式化输入和输出需要L编辑符568Multipleradixspecifiers输入或输出语句重复说明582Arrayalreadyallocated数组已分配583Arraysizezeroornegative数组大小为0或负数585Arraynotallocated没有被分配的数组610Invalidargument非法参数616Invalidnumberininput输入非法数字617Invalidstringininput输入非法字符串618CommamissinginCOMPLEXinput输入的多个表达式之间缺少逗号619TorFexpectedinLOGICALread输入的逻辑值必须是T或F622Illegalcharacterinhexadecimalinput输入非法的十六进制数637Integerexpectedinformat格式语句中要求的整数638Initialleftparenthesisexpectedinformat格式语句中多余的左括号639Positiveintegerexpectedinformat格式语句中要求用正整数641IntegerexpectedprecedingH,X,orPeditdes
本文标题:fortran常见错误及其原因
链接地址:https://www.777doc.com/doc-3520870 .html