FORTRAN编译器常见错误提示及原因

FORTRAN编译器常见错误提示及原因附录常见错误提示及原因安装1关于Fortran编译器的安装和配置在安装FEPG之前一般要先安装好Powerstation Fortran 4.0编译器并设置好Fortran编译器的path、lib和include路径。

如果你的Powerstation Fortran 4.0编译器安装在目录C:MSDEV下设置如下·在WIN 2000/XP下的设置: a.鼠标移到我的电脑图标单击右键然后点击属性b.点击高级属性c.点击环境变量进行系统变量设置系统变量如下图 d. 如果图上的include、lib、path几个变量没有请点击新建如有点击编辑按下面变量值进行修改变量path值c:MSDEVbin path 变量lib 值c:MSDEVliblib 变量include值c:MSDEVincludeinclude 注意如果path、lib和include变量中有相应新增加的内容可不增加。

如果编译器装在其它目录则把C:MSDEV换为该目录名。

实际上在安装Powerstation Fortran 4.0时会出现一个对话框询问是否增加环境变量如果选是这些变量就已经配置好了。

安装fepg需要用户有管理员权限。

2运行FEPG命令生成Fortran 源程序时出现fl32不是内部命令也不是外部命令的错误或fl32 is not internal command 没配置好Fortran编译器的path路径。

按照上面第1个问题中的解答配置好path路径。

3. 运行FEPG命令生成Fortran源程序时有些fortran源程序没连接成可执行程序出现不能发现fepg.lib库文件的错误安装FEPG之前没安装和配置好Fortran编译器所致。

在安装FEPG 之后出现此情况可先按照上面第1个问题中的解答配置好Fortran编译器然后在dos窗口下运行FEPG所在目录下nfe.r8目录下的gfepglib.bat程序即可生成fepg.lib库文件。

4. 是否可用其他的Fortran编译器还可用Visual Fortran 6.5编译器配置与Powerstation Fortran 4.0相同。

对于IFEPG5.2for g77客户端还可以用g77编译器了 2 5是否与其他软件有兼容性问题FEPG 与其他软件没有兼容性问题。

但Powerstation Fortran 4.0和Visual C 6.0如果在安装时都选了设置环境变量在用Fortran编译器编译连接FEPG产生的Fortran源程序时会出问题。

可在安装Visual C时出现是否设置环境变量对话框时选择否即可解决此问题此时用Visual C编译窗口可编译VC程序只是在dos窗口中不行一般影响不大。

IFEPG客户端系统的前处理FEPG.GID与MATLAB有兼容性问题用户安装了IFEPG客户端和MATLAB后FEPG.GID可能启动不了。

可以将操作系统PATH环境变量中关于MA TLAB的路径删除这样FEPG.GID就可以启动了。

6是不是一定要先装fortran再装FEPG如果先装FEPG再装fortran有什么解决办法不一定先装fortran再装FEPG。

如果先装FEPG那么装完fortran再运行ifepg安装目录下nfe下的gfepglib.bat。

7请问如果要装VC怎么办啊在安装Visual C时出现是否设置环境变量对话框时选择否即可解决此问题。

就是不要设关于VC的环境变量应该就可以了。

这样VC应该用VC的界面能用。

8打开Ifepg后连接服务器时出现了cant create file是怎么回事啊这一般是IFEPG服务器端的问题。

如出现尽快联系我们。

9出现cannot open filedfor.lib 这可能是换fortran编译器造成的比如Visual FROTRAN 6.1变成powerstation 4.0。

因为各个编译器编译出来的obj代码不同连接的库不同。

如果你用powerstation 4.0提供的fl32命令将一些Visual FROTRAN 6.1产生的obj文件连接成可执行程序可能就会出现这个问题。

解决办法是使用powerstation 4.0提供的fl32将那些文件重新编译一下。

10Error: Couldnt initialize GID. Check DISPLAY and xhostCheck for more info to files in directory: C:DOCUME1xxc1LOCALS1Tempgid3 安装fepg时需要使用administrator 用户安装第一次运行gid时也需要使用administrator用户运行第二次运行gid就应该不用了。

11安装后运行gid建模型模型显示异常是怎么回事gid对某些型号的显卡支持的不好你可以将显卡的硬件加速调成无试试。

在Windows 2000下操作如下用鼠标右键点击桌面的空处点击出现的“属性”菜单项点击出现的“设置”页点击出现的“高级”按钮点击出现的“疑难解答”页将“硬件加速”的拉条调到“无”。

程序生成1前处理划分网格的单元类型和计算时的单元类型对不上。

如前处理划分的网格是三角形而生成计算程序时的单元类型是四边形。

2mate行在生成单元子程序的for文件时是一些赋值语句在fortran77的语法中变量定义要放在语句之前。

所以PDE中的变量定义要放在mate行之前。

3 3time、dt、imate、ielem和nelem等全局变量要在mate??行之后使用之前这些变量还没有赋值。

4defi信息段中的coef耦合变量名和coor坐标变量名在defi段中只是一个名字还没有赋值当我们添加fortran程序要用到这些变量时要在stif或func信息段来添加那些fortran程序这时这些变量才有值5un/x前要用cv不能用c6 6E:IFEPG.g771g77 -c aeq4g2.for g77 不是内部或外部命令也不是可运行的程序或批处理文件。

Fortran安装不正确或fortran环境变量没有设置。

检查环境变量设置变量path值c:MSDEVbin path 变量lib 值c:MSDEVliblib 变量include值c:MSDEVincludeinclude 7Error cannot find shape function d2c8 in SHAP Library shap段写错了在库中找不到所写的单元类型。

8les.gio file expected 需要上传FEPG原始文件如GCN、GIO、PDE等。

9FEPG翻译时无相应。

PDE中参数可能写错将1写成1等。

10编译找不到相应的文件用文本编辑器保存文件后缀可能会保存成.txt。

11Link fotal error link1104can not open file “dfor.lib” 如果是单机版到fepg目录下nfe.r8下运行gfepglib.bat 如果是网络版到ifepg目录下nfe下运行gfepglib.bat 再运行命令应该就行了。

12error FOR2979: expected 2 subscripts but found 1 for array EU1 用NFE文件时在EQUATION段的声明语句出错。

13生成NFE时出错可能pde中材料参数太多。

14Errorthe shapes of the array expressions do not conform 可能用户定义变量与系统变量重复造成冲突。

4 15Warning link4084total image size warning exceed max image may not run 这个没有关系的。

不用管它。

这是fortran编译器的问题。

对生成程序和计算没有影响。

16Errorlist element in braces followed by a:link instead of space 文件写得可能有问题。

17error wrong number after directory name ...lea ....line number 9 Error element name ......... 1 is not expected Line number 9 PDE文件有错。

18LINK : fatal error LNK1181: cannot open input file aec8.obj PDE文件书写不正确没有正常翻译。

19application error: error: list element in braces followed by a:link instead of space 可能文件名命名长度超过了8个字符。

20error canot find refc or coor name... icoorirefci101 可能在PDE中没有写coor 行信息。

21error can not find DISP or FUNC name......exx line number.......239 error can not find DISP or FUNC name......exy line number.......240 可能在PDE中没有写disp行、func行信息。

22elesb.obj : error LNK2001: unresolved external symbol _BET332 temp.exe : fatal error LNK1120: 1 unresolved externals 没有bet3.for或者没编译成obj。

23start is not a internal command 可能操作系统不符合24“0x00404281指令引用的0xeb88f404内存。

该内存不能为“ read”. 要中止程序请单击“确定”。

要调试程序请单击“取消”。

这种错误比较难查。

它预示着计算全乱了。

检查办法是做一个简单的网格来看问题是出在网格还是程序。

如果是程序的问题。

就在程序里用debug来追踪是哪行程序的问题。

这种错误往往会来自一个小小的字母错误。

但查起来比较麻烦。

5 25aeq4g2.obj:error LINK2001:Unresolved external symbol _ecu8 enpa.exe:fatal error LINK1120:1 unresolved externals pde文件中ecu的定义或使用有问题26用公式库生成有限元程序时总是提示??fem.bat??不是内部或外部命令也不是可运行的程序或批处理文件路径可能与vc有冲突你看看软件安装版27 安装powerstation 4.0后应该去fepgnfe.r8运行gfepglib.bat重新生成fepg.lib 28用公式库生成有限元程序时总是提示??test.bat??不是内部或外部命令也不是可运行的程序或批处理文件你将于VC有关的PATHINCLUDE和LIb的东东删除计算1如果e单元计算程序出现除零或数组超阶错误有可能有几个原因 a.前处理划分网格的单元类型和计算时的单元类型对不上。

合集下载

gfortran 编译f90

gfortran 编译f90

gfortran 编译f90使用gfortran编译f90gfortran是GNU组织开发的一款免费的Fortran编译器。

Fortran 是一种高级编程语言,主要用于科学计算和数值计算。

gfortran编译器可以将Fortran源代码转换为可执行文件,使得程序可以在计算机上运行。

我们需要准备一个Fortran源代码文件,通常以.f90或.f95为扩展名。

在编写代码之前,我们可以使用任何文本编辑器来创建一个新的源代码文件。

在这个文件中,我们可以定义变量、编写数学公式、编写程序逻辑等。

在编写代码之前,我们需要了解一些基本的Fortran语法规则。

Fortran中的变量可以是整数、实数、逻辑值或字符类型。

变量可以通过使用等号来赋值。

Fortran还支持基本的数学运算,如加法、减法、乘法和除法。

此外,Fortran还支持条件语句(如if语句)和循环语句(如do循环)等控制结构。

在编写完Fortran源代码之后,我们可以使用gfortran编译器来将其转换为可执行文件。

在命令行中,我们可以使用以下命令来编译Fortran源代码:```gfortran -o output_file_name source_file_name.f90```其中,output_file_name是我们希望生成的可执行文件的名称,source_file_name.f90是我们准备的Fortran源代码文件的名称。

编译成功后,将生成一个与output_file_name相同的可执行文件。

编译过程中,gfortran编译器会检查源代码中的语法错误和逻辑错误,并生成相应的编译器错误信息。

如果存在错误,我们需要根据错误信息来修复代码。

通常,错误信息会指出错误发生的位置和错误的类型,我们可以根据错误信息逐个解决。

一旦编译成功,我们可以通过在命令行中输入可执行文件的名称来运行程序。

程序将按照我们在源代码中定义的逻辑进行计算,并输出结果。

除了编译和运行Fortran程序之外,gfortran编译器还提供了一些选项来控制编译过程。

ubuntu下intel fortran安装

ubuntu下intel fortran安装

Intel FORTRAN 编译器入门系列之一: Linux 安装和使用经过测试, Intel FORTRAN 编译器能支持安装在绝大多数的主流Linux发行版本, 包括Asianux* 3.0, Debian* 4.0, Red Hat Enterprise Linux* 3, 4, 5, Fedora* 7, SUSE LINUX Enterprise Server* 9, 10, TurboLinux* 11, Ubuntu 7.0等等I. Intel FORTRAN 编译器安装1) 下载安装包后, 解包, 并运行安装脚本(请尽量使用root 权限的账号进行安装)> tar -zxvf l_fc_x_10.1.xxx.tar.gz> cd l_fc_x_10.1.xxx> ./install.sh2) 选择1 进行安装, 并提供许可文件(License File). 注意请输入完整的全路径, 包括许可文件名(许可文件通常以.lic结尾, 建议放入缺省目录/opt/intel/licenses)3) 选择1 进行典型安装(Typical Install)4) 根据提示, 阅读许可, 选择安装路径等等, 直到全部结束II. Intel FORTRAN 编译器使用注意, 缺省的安装目录在/opt/intel/fc[e]/xx.x.xxx/ (xx.x.xxx代表版本号, fc代表IA-32 and IA-64版本, fce代表Intel 64版本)使用前, 需要设置相关的环境:] source /opt/intel/fc/10.1.xxx/bin/ifortvars.sh (或者是ifortvars.csh)然后编译源文件:] ifort my_source_file.f90查看当前版本] ifort -V参看支持的所有命令行选项] ifort -helpIII. 常见问题Q: 如果碰到安装失败, 如何解决?A: 首先, 请确认你下载了最新的发行版本, 并检查当前系统,1) 系统是否已经安装Linux Developer tools 选件, 包括GCC, G++ 和其它相关的开发工具包2) 系统是否已经安装Linux 选件compat-libstdc++, 它提供libstdc++.so.5 库3) 如果是Intel 64(EM64T)环境, 系统是否已经安装了32-bit 库(可能被称作ia32-libs )然后, 查看发行说明(Release Notes), 核对你的系统是否支持最后, 联系Intel Premier Support (), 寻求帮助当然, 还可以通过论坛, 搜索网络, 和他人讨论Q: 使用时, 遇到错误信息"ifort: error: could not find directory in which g++ resides"A: Intel Fortran编译器无法在你的系统中找到GNU* g++ 编译器. 可能是由于你没有安装GCC 开发包, 或者g++ 不是安装在缺省路径, 或者你使用了非英文的Linux版本. 解决办法请访问Intel网站: /support/performancetools/fortran/linux/sb/CS-017386.htmQ: 使用时, 遇到错误信息"Intel 10.x compiler's dependency on /usr/lib/libstdc++.so.5"A: Intel 10.x 编译器为了保证和基于GCC 3.2 的系统兼容, 需要使用标准C++ 库/usr/lib/libstdc++.so.5, 但是很多比较新的Linux 发行版本中开始使用GCC 3.4, 并且提供了全新的标准C++ 库/usr/lib/libstdc++.so.6. 因此需要安装compat-libstdc++ RPM包, 它包含了/usr/lib/libstdc++.so.5 库.IV. 常用链接:Intel Linux FORTRAN 编译器帮助文档: /cd/software/products/asmo-na/eng/346152.htmIntel Linux FORTRAN 编译器发行说明: /software/products/compilers/docs/flin/release_notes.htmIntel Linux FORTRAN 编译器安装指导: /software/products/compilers/docs/flin/install.htmIntel Linux FORTRAN 编译器英文FAQ: /cd/software/products/asmo-na/eng/346192.htm安装过程:首先解压缩拿到的安装程序包,拿到的打包好的程序格式为:*****,tar.gz利用 tar -xjf ********.tar.gz 来解压缩,在同一目录下生成一个同名的文件夹,进入该文件夹,运行 ./install.sh 按照屏幕提示来进行操作,先选择1,然后提示输入licence文件的路径,这里需要输入全路径。

fortran 函数 没有声明

fortran 函数 没有声明

Fortran是一种编程语言,用于科学计算和数值计算的高级程序设计。

在使用Fortran编程时,函数声明是一项重要的操作,它可以帮助程序员正确地定义和调用函数,确保程序的正确性和可靠性。

然而,有时候在编写Fortran程序时,程序员会遇到一些没有声明的函数,这可能会导致程序出现错误或者无法正常运行。

本文将就这一问题展开讨论,并提出解决方法。

1. 为什么会出现没有声明的Fortran函数Fortran编程中出现没有声明的函数的原因有很多,常见的包括:(1)函数声明遗漏:有时候在编写Fortran程序时,程序员可能会忘记对函数进行声明,这可能是由于疏忽或者粗心造成的。

(2)函数定义错误:有时候程序员可能会在程序中直接定义函数而没有进行声明,这样会导致编译器无法正确识别函数的类型和参数。

(3)函数命名冲突:有时候程序员可能会在程序中使用了与其他库函数同名的函数而没有进行声明,这样会导致编译器无法确定到底应该调用哪一个函数。

2. 没有声明的Fortran函数可能会带来的问题出现没有声明的Fortran函数可能会导致以下问题:(1)编译错误:如果程序中调用了没有声明的函数,那么在编译阶段就会出现错误,编译器无法识别这个函数,从而导致编译失败。

(2)运行错误:即使程序能够顺利编译通过,但是在运行时调用了没有声明的函数也会导致程序运行错误,可能会出现未定义行为或者崩溃。

(3)难以调试:如果程序中存在没有声明的函数,那么调试起来会比较困难,因为程序员无法准确地确定函数到底做了什么,可能需要耗费更多的时间和精力来进行调试。

3. 如何解决没有声明的Fortran函数问题针对没有声明的Fortran函数问题,可以采取以下解决方法:(1)添加函数声明:在程序中的函数调用之前,确保要调用的函数已经被声明过,包括函数的类型、参数类型和个数等信息。

(2)修改函数定义:如果程序中存在直接定义但未声明的函数,可以通过在程序的开头添加函数声明来解决这一问题。

ABAQUS与FORTRAN问题小结

ABAQUS与FORTRAN问题小结

ABAQUS与FORTRAN论坛问题小结Q:索了一下论坛发现以前的问题都是不同类型的子程序,如UEL, UMA T...这样把它们放在一个.for文件里不会有误会,但是如果都是UEL的话,该怎么识别呢?A:subroutine Umat()IF (CMNAME(1:4) .EQ. 'MA T1') THENCALLUMA T_MA T1(argument_list)ELSE IF(CMNAME(1:4) .EQ. 'MA T2') THENCALLUMA T_MA T2(argument_list)END IF上面是区分不同umat的方法,区分uel应该类似吧Q:行abaqus的时候出现这样的提示"Problem during compilation - df.exe not found in PA TH."请问这是什么原因.A: 就是说找不到用于编译的df.exe文件(好像是Fortran的编译运行文件),在Windows控制面板的“系统”里,打开高级属性,将系统的PA TH添加上Fortran的路径,最好也一并把INCLUDE和LIB也都添加上对应的FORTRAN的路径。

Q: 如何在ABAQUS中调用用户子程序UMA TA:abaqus job=*** user=*.for or *.objA: 装好fortran编译器的前提下,有两种方式:1、命令行:abaqus job=*.inp user=*.for或abaqus job=*.inp user=*.obj (可以由*.f90编译后得到)2、菜单格式:先运行CAE,在general设置中可以指定Umat用户子程序A: job=jobname user=yourfortran.for(其它类型子程序)A:如果是本构的二次开发:*material, userQ: abaqus job=job-name user={source-file | object-file}source-file和object-file各是什么?A: fortran的源文件(.for)或者目标文件(.o)在command下面输入以上命令行就可以正常运行. 用户子程序再调用别的fortran程序时,要加入abaqus 子程序中的include'ABA_PARAM.INC'。

fortran 函数 没有声明

fortran 函数 没有声明

fortran 函数没有声明Fortran函数没有声明Fortran是一种编程语言,广泛应用于科学计算和工程领域。

在Fortran中,函数的声明是很常见的,它表明了函数的名称、参数以及返回值类型。

然而,有时我们也会遇到一些Fortran函数没有明确声明的情况。

本文将探讨Fortran函数没有声明的原因以及可能导致的问题,并提供一些解决方案。

1. 函数声明的作用函数声明在编程中起着重要的作用。

它们提供了函数名称、参数及其类型的信息,这样编译器就能够正确地解析和调用函数。

函数声明还可以帮助程序员理解代码结构,提高代码可读性和可维护性。

2. Fortran函数没有明确声明的原因Fortran函数没有明确声明的原因可能有以下几种:a) 编码错误:有时程序员可能会忘记添加函数声明或者错误地书写了函数声明。

这种情况下,编译器可能无法正确解析函数。

b) 遗留代码:在一些旧的Fortran代码中,可能存在一些没有显式声明的函数。

这可能是由于早期版本的Fortran语言规范不要求函数显式声明,或者是由于历史原因保留下来的代码。

c) 隐式声明:在Fortran 77及以前的版本中,函数可以通过在子程序中直接调用而不需要显式声明。

这种隐式声明的方式导致了一些潜在的问题。

3. 可能导致的问题如果Fortran函数没有明确声明,可能会导致以下问题:a) 编译错误:当函数没有明确声明时,编译器可能无法正确解析函数调用,从而导致编译错误。

b) 运行时错误:如果函数没有明确声明,编译器无法检查函数参数和返回值的类型一致性。

这可能导致运行时错误,如数据类型不匹配或返回值错误等。

c) 可读性和可维护性差:没有明确声明的函数会降低代码的可读性和可维护性,特别是对于其他开发人员来说。

4. 解决方案在遇到Fortran函数没有明确声明的情况下,可以考虑以下解决方案:a) 添加函数声明:最简单的解决方法就是在函数使用前添加相应的函数声明。

编译器常见警告与错误信息的解决办法

编译器常见警告与错误信息的解决办法

KEIL C编译器常见警告与错误信息的解决办法1. Warning 280:‟i‟:unreferenced local variable说明局部变量i 在函数中未作任何的存取操作解决方法消除函数中i 变量的宣告2 Warning 206:‟Music3‟:missing function-prototype说明Music3( )函数未作宣告或未作外部宣告所以无法给其他函数调用解决方法将叙述void Music3(void)写在程序的最前端作宣告如果是其他文件的函数则要写成extern void Music3(void),即作外部宣告3 Compling :C:\8051\MANN.CError:318:can‟t open file …beep.h‟说明在编译C:\8051\MANN.C 程序过程中由于main.c 用了指令#include “beep.h”,但却找不到所致解决方法编写一个beep.h 的包含档并存入到c:\8051 的工作目录中4 Compling:C:\8051\LED.CError 237:‟LedOn‟:function already has a body说明LedOn( )函数名称重复定义即有两个以上一样的函数名称解决方法修正其中的一个函数名称使得函数名称都是独立的5 ***WARNING 16:UNCALLED SEGMENT,IGNORED FOR OVERLAY PROCESS SEGMENT: ?PR?_DELAYX1MS?DELAY说明DelayX1ms( )函数未被其它函数调用也会占用程序记忆体空间解决方法去掉DelayX1ms( )函数或利用条件编译#if …..#endif,可保留该函数并不编译6 ***WARNING 6 :XDATA SPACE MEMORY OVERLAPFROM : 0025HTO: 0025H说明外部资料ROM 的0025H 重复定义地址解决方法外部资料ROM 的定义如下Pdata unsigned char XFR_ADC _at_0x25 其中XFR_ADC 变量的名称为0x25,请检查是否有其它的变量名称也是定义在0x25 处并修正它7 WARNING 206:‟DelayX1ms‟: missing function-prototypeC:\8051\INPUT.CError 267 :‟DelayX1ms …:requires ANSI-style prototype C:\8051\INPUT.C说明程序中有调用DelayX1ms 函数但该函数没定义即未编写程序内容或函数已定义但未作宣告解决方法编写DelayX1ms 的内容编写完后也要作宣告或作外部宣告可在delay.h的包含档宣告成外部以便其它函数调用8 ***WARNING 1:UNRESOLVED EXTERNAL SYMBOLSYMBOL:MUSIC3MODULE:C:\8051\MUSIC.OBJ(MUSIC)***WARNING 2:REFERENCE MADE TO UNRESOLVED EXTERNALSYMBOL:MUSIC3MODULE:C:\8051\MUSIC.OBJ(MUSIC)ADDRESS:0018H说明程序中有调用MUSIC 函数但未将该函数的含扩档C 加入到工程档Prj 作编译和连接解决方法设MUSIC3 函数在MUSIC C 里将MUSIC C 添加到工程文件中去9 ***ERROR 107:ADDESS SPACE OVERFLOWSPACE: DATASEGMENT: _DATA_GOUP_LENGTH: 0018H***ERROR 118: REFERENCE MADE TO ERRONEOUS EXTERNALSYMBOL: VOLUMEMODULE: C:\8051\OSDM.OBJ (OSDM)ADDRESS: 4036H说明data 存储空间的地址范围为0~0x7f,当公用变量数目和函数里的局部变量如果存储模式设为SMALL 则局部变量先使用工作寄存器R2~R7 作暂存当存储器不够用时则会以data 型别的空间作暂存的个数超过0x7f 时就会出现地址不够的现象解决方法将以data 型别定义的公共变量修改为idata 型别的定义--------------------------------------------------------------------------------------------------keil c编译器错误与解决方法2008-05-27 20:191. Warning 280:‟i‟:unreferenced local variable 说明局部变量i 在函数中未作任何的存取操作解决方法消除函数中i 变量的宣告2 Warning 206:‟Music3‟:missing function-prototype说明Music3( )函数未作宣告或未作外部宣告所以无法给其他函数调用解决方法将叙述void Music3(void)写在程序的最前端作宣告如果是其他文件的函数则要写成extern void Music3(void),即作外部宣告3 Compling :C:\8051\MANN.CError:318:can‟t open file …beep.h‟说明在编译C:\8051\MANN.C 程序过程中由于main.c 用了指令#i nclude “beep.h”,但却找不到所致解决方法编写一个beep.h 的包含档并存入到c:\8051 的工作目录中4 Compling:C:\8051\LED.CError 237:‟LedOn‟:function already has a body说明LedOn( )函数名称重复定义即有两个以上一样的函数名称解决方法修正其中的一个函数名称使得函数名称都是独立的5 ***WARNING 16:UNCALLED SEGMENT,IGNORED FOR OVERLAY PROCESS SEGMENT: ?PR?_DELAYX1MS?DELAY说明DelayX1ms( )函数未被其它函数调用也会占用程序记忆体空间解决方法去掉DelayX1ms( )函数或利用条件编译#if …..#endif,可保留该函数并不编译6 ***WARNING 6 :XDATA SPACE MEMORY OVERLAPFROM : 0025HTO: 0025H说明外部资料ROM 的0025H 重复定义地址解决方法外部资料ROM 的定义如下Pdata unsigned char XFR_ADC _at_0x25 其中XFR_ADC 变量的名称为0x25,请检查是否有其它的变量名称也是定义在0x25 处并修正它7 WARNING 206:‟DelayX1ms‟: missing function-prototypeC:\8051\INPUT.CError 267 :‟DelayX1ms …:requires ANSI-style prototype C:\8051\INPUT.C说明程序中有调用DelayX1ms 函数但该函数没定义即未编写程序内容或函数已定义但未作宣告解决方法编写DelayX1ms 的内容编写完后也要作宣告或作外部宣告可在delay.h 的包含档宣告成外部以便其它函数调用8 ***WARNING 1:UNRESOLVED EXTERNAL SYMBOLSYMBOL:MUSIC3MODULE:C:\8051\MUSIC.OBJ(MUSIC)***WARNING 2:REFERENCE MADE TO UNRESOLVED EXTERNALSYMBOL:MUSIC3MODULE:C:\8051\MUSIC.OBJ(MUSIC)ADDRESS:0018H说明程序中有调用MUSIC 函数但未将该函数的含扩档C 加入到工程档Prj 作编译和连接解决方法设MUSIC3 函数在MUSIC C 里将MUSIC C 添加到工程文件中去9 ***ERROR 107:ADDESS SPACE OVERFLOWSPACE: DATASEGMENT: _DATA_GOUP_LENGTH: 0018H***ERROR 118: REFERENCE MADE TO ERRONEOUS EXTERNALSYMBOL: VOLUMEMODULE: C:\8051\OSDM.OBJ (OSDM)ADDRESS: 4036H说明data 存储空间的地址范围为0~0x7f,当公用变量数目和函数里的局部变量如果存储模式设为SMALL 则局部变量先使用工作寄存器R2~R7 作暂存当存储器不够用时则会以data 型别的空间作暂存的个数超过0x7f 时就会出现地址不够的现象解决方法将以data 型别定义的公共变量修改为idata 型别的定义说明如对编译出错感兴趣的网友能否把你们常遇到的错误信息收集起来并提出最终的解决办法加以归纳以期共享10.***WARNING L15: MULTIPLE CALL TO SEGMENTSEGMENT: ?PR?_WRITE_GMVLX1_REG?D_GMVLX1CALLER1: ?PR?VSYNC_INTERRUPT?MAINCALLER2: ?C_C51STARTUP***WARNING L15: MULTIPLE CALL TO SEGMENTSEGMENT: ?PR?_SPI_SEND_WORD?D_SPICALLER1: ?PR?VSYNC_INTERRUPT?MAINCALLER2: ?C_C51STARTUP***WARNING L15: MULTIPLE CALL TO SEGMENTSEGMENT: ?PR?SPI_RECEIVE_WORD?D_SPICALLER1: ?PR?VSYNC_INTERRUPT?MAINCALLER2: ?C_C51STARTUP该警告表示连接器发现有一个函数可能会被主函数和一个中断服务程序(或者调用中断服务程序的函数)同时调用,或者同时被多个中断服务程序调用。

Fortran语言基础

数值分析程序设计Part I F ortran语言基础COMPAQ VISUAL FORTRAN 6.50编译器的使用0.1 编译器简介高级语言以及汇编语言的程序代码在没有转换成机器代码前,计算机是无法执行的。

编译器的功能是将高级语言的程序代码翻译成计算机可执行的机器码,也就是生成扩展名为EXE, COM的文件。

0.2 Visual Fortran的使用Visual Fortran起源于Microsoft的Fortran PowerStation 4.0,这套工具后来卖给Digital公司继续开发,第二个版本称为Digital Visual Fortran 5.0,Digital 被Compaq并购之后,接下来的版本6.0和6.5称为Compaq Visual Fortran。

下面的介绍以Compaq Visual Fortran 6.5作范例。

Visual Fortran被组合在一个叫做Microsoft Visual Studio的图形接口开发环境中。

Visual Studio提供一个统一的使用接口,这个接口包括文字编辑功能、Project管理功能、调试工具等。

而编译器则被组合到Visual Studio中,VF和VC++使用相同的使用接口。

Visual Fortran 6.5除了完全支持Fortran 95的语法外,扩展功能方面提供了完整的Windows程序开发工具,专业版还含有IMSL数值计算连接库。

另外还可以和VC++直接互相连接使用,也就是把Fortran和C语言的程序代码混合编译成一个执行文件。

安装好Compaq Visual Fortran后,运行Developer Studio就可以开始编译Fortran程序了。

运行Developer Studio启动Visual Fortran,默认程序名称为Compaq Visual Fortran 6.5选择File菜单中的New选项在弹出的对话框中,选择Project标签。

常见错误代码提示解决方案

常见错误代码提示解决方案在编程的过程中,我们经常会遇到各种各样的错误代码提示,这些提示往往会让我们感到困惑和烦恼。

为了帮助大家更好地解决常见错误代码提示,本文将为大家提供一些解决方案。

1. NullPointerException(空指针异常)空指针异常通常是由于访问了一个空对象的属性或方法所引起的。

解决这个问题的办法是在使用对象之前先进行判空处理,可以通过使用if语句进行判断,或者使用Java 8中引入的Optional类来避免空指针异常的发生。

2. SyntaxError(语法错误)语法错误是指代码中存在不符合语法规则的表达式或语句。

解决这个问题的方法是仔细检查代码,查找可能存在的拼写错误、缺少分号等语法错误,并对其进行修正。

3. IndexError(索引错误)索引错误通常发生在访问列表或数组时,索引超出了范围。

解决这个问题的办法是确保索引在有效的范围内,可以通过使用len()函数获取列表或数组的长度,并进行合理的判断和处理。

4. ValueError(数值错误)数值错误通常是由于对数据类型的转换或计算出现问题。

解决这个问题的方法是确保数据的类型正确,并进行适当的类型转换。

此外,还可以使用try-except语句来捕获数值错误,并给出相应的提示或处理方法。

5. FileNotFoundError(文件未找到错误)文件未找到错误通常发生在读取或操作文件时,指定的文件路径不正确或文件不存在。

解决这个问题的办法是检查文件路径是否正确,并确保文件存在。

同时,还可以使用try-except语句来捕获文件未找到错误,并进行相应的处理。

6. AttributeError(属性错误)属性错误通常是指访问了一个对象不存在的属性。

解决这个问题的方法是确认对象拥有该属性,并进行相应的处理。

可以使用dir()函数来查看对象的属性列表,或者使用hasattr()函数来判断对象是否拥有指定的属性。

7. ImportError(导入错误)导入错误通常发生在导入模块时,模块不存在或路径错误。

Fluent常见报错和计算错误

Fluent 计算错误汇总:1. .fluent 不能显示图像在运行fluent 时,导入case 后,检查完grid,在显示grid 时,总是出现这样的错误Error message from graphics function Update_Display:Unable to Set OpenGL Rendering ContextError: FLUENT received a fatal signal SEGMENTA TION VIOLATION.Error Object: 解决办法:右键单击快捷方式,把目标由x:fluent.incntbinntx86fluent.exe改成:x:fluent.incntbinntx86fluent.exe 2d -driver msw如果还有三维的,可以再建立一个快捷方式改成:x:fluent.incntbinntx86fluent.exe 3d -driver msw这就可以直接调用了。

如果不是以上原因引起的话,也有可能是和别的软件冲突,如MATLAB 等,这也会使fluent 无法显示图像。

2:GAMBIT 安装后无法运行,出错信息是“unable find Exceed X Server”A. GAMBIT 需要装EXCEED 才能用。

gambit 的运行:先运行命令提示符,输入gambit,回车fluent 的运行:直接在开始-程序-Fluent Inc 里面3:Fluent 安装后无法运行,出错信息是“unable find/open license.datA. FLUENT 和GAMBIT 需要把相应license.dat 文件拷贝到FLUENT.INC/license 目录下4:出错信息:运行gambit 时提示找不到gambit 文件A. FLUENT 和GAMBIT 推荐使用默认安装设置,安装完GAMBIT 请设置环境变量,设置办法“开始-程序-FLUENT INC-Set Environment 另外设置完环境变量需要重启一下,否则仍会提示找不到环境变量。

常见编译错误解析-(2)ppt课件


常见编译器错误提示(五)
Hexadecimal or octal constant too large ------------------16进制或8进制常数太大 Illegal character ''x'' ------------------非法字符x Illegal initialization ------------------非法的初始化 Illegal octal digit ------------------非法的8进制数字 Illegal pointer subtraction ------------------非法的指针相减 Illegal structure operation ------------------非法的结构体操作 Illegal use of floating point -----------------非法的浮点运算 Illegal use of pointer --------------------指针使用非法 Improper use of a typedefsymbol ----------------类型定义符号使用不恰当 In-line assembly not allowed -----------------不允许使用行间汇编
常见编译器错误提示(二)
Call of non-function -----------------调用未定义的函数 Call to function with no prototype ---------------调用函数时没有函数的说明 Cannot modify a const object ---------------不允许修改常量对象 Case outside of switch ----------------漏掉了case 语句 Case syntax error ------------------ Case 语法错误 Code has no effect -----------------代码不可述不可能执行到 Compound statement missing{ --------------------分程序漏掉"{“ Conflicting type modifiers ------------------不明确的类型说明符 Constant expression required ----------------要求常量表达式 Constant out of range in comparison -----------------在比较中常量超出范围
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档