第7章-建立应用程序--清华CAD二次开发-LISP

上传人:陈** 文档编号:253052538 上传时间:2024-11-28 格式:PPT 页数:44 大小:375KB
返回 下载 相关 举报
第7章-建立应用程序--清华CAD二次开发-LISP_第1页
第1页 / 共44页
第7章-建立应用程序--清华CAD二次开发-LISP_第2页
第2页 / 共44页
第7章-建立应用程序--清华CAD二次开发-LISP_第3页
第3页 / 共44页
点击查看更多>>
资源描述
,*,Click to edit Master title style,Click to edit Master text styles,Second level,Third level,Fourth level,Fifth level,第,7,章,建立应用程序,AotuCAD,既可以将直接加载的,AutoLISP,源代码解释执行,也可以通过编译器先将,AutoLISP,源代码编译为可执行程序,然后加载执行。前者的优点是可随时测试或修改源代码,可以利用所有的调试程序的工具。后者的优点是提高了执行速度、对源代码保密。,如果确认已加载过的,AutoLISP,源代码运行正常,则应将该源代码编译为可执行的机器代码文件。该文件的扩展名为,.fas,,是只有机器才能认识的目标文件。这样,不仅提高了程序的加载和运行速度,也起到了保护源代码的作用。,Visual LISP,还可生成更复杂的扩展名为,.vlx,的可执行文件。该文件是包括已编译的,AutoLISP,代码和,dcl,、,vba,等资源文件,是一个打包的应用程序。,Visual LISP,可以用,vlisp-compile,函数编译单个的,AutoLISP,文件,也可以用,生成应用程序向导,,将多个,AutoLISP,文件编译成单个的,.fas,和,.vlx,文件。,7.1,通过,Visual LISP_compile,函数编译单个文件,该函数的调用格式为:,(vlisp-compile ,mode,filename, out-filename),其中:,mode,为编译的模式、,filename,为源文件的名字、,out-filename,为编译后输出的,.fas,类型的执行文件的名字。,1.,选择编译模式,mode,参数指定编译模式,它可以是以下三种编译模式之一:,(,1,),st,标准编译模式,标准编译模式可以生成最小的执行文件,它适合于只包括单个文件的程序。,(,2,),lsm,优化并间接链接,(,3,),lsa,优化并直接链接,优化选项可使生成的的编译文件效率更高,它适合于较大而且复杂的程序。优化的基本功能如下:,对已编译函数直接引用,而不是引用函数名。该功能可提高代码的运行速度并防止在运行时对函数的重定义。, 去掉函数名使得已编译代码更安全、减少程序的长度和缩短程序的加载时间。, 去掉所有局部变量名并对其直接链接引用,同样使得已编译代码更安全、并减小程序的大小和加载程序所用的时间。,2.,确定要编译的,LSP,源文件,如果源文件在,AutoCAD,支持的搜索路径下,可以不包括路径名。选择,AutoCAD,菜单,T,ools,O,ptions,,然后打开,Files,选项卡并选取,Support File Search Path,,可设置文件搜索路径。,例如,已设置文件搜索路径为,d:user,,就可以用表达式(,vlisp-compile,st sample.lsp),编译驱动器,D,的,user1,目录下的文件,sample.lsp,。,如果,d:user,不是文件搜索路径,那么,在指定源文件时必须包括完整的路径名,如:,(,vlisp-compile,st d:userexample.lsp),或,(,vlisp-compile,st d:/user/ example.lsp),Visual LISP,默认源文件的扩展名为,.lsp,。,3.,确定编译器生成的输出文件名,如果未指定输出文件名,编译器生成的文件和源文件同名同路径,扩展名为,.fas,。,例如,,(,vlisp-compile,st d:/user/example.lsp),编译生成的文件在,d:/user/,路径下,文件名为,example.fas,。,如果指定了输出文件名但没有指定输出文件的路径,,Visual LISP,将把输出文件放在,AutoCAD,的安装目录下。例如,假定安装目录为,d:autocad2006,,用表达式,(,vlisp-compile,st sample.lsp sample.fas),编译生成的,sample.fas,,在,d:autocad2006,路径下。,通常,应该指定输出文件的完整路径,可以省略输出文件的扩展名。例如:,(,vlisp-compile,st d:/user1/example1 d:/user2/example2),这样可以保证将输出文件放到指定的目录下。,4.,举例,假定,AutoLISP,源文件的名字是,example1.lsp,,存放在驱动器,d,的,user1,目录下,文件的内容是定义绘制螺钉的命令,命令的名字是,screw,。编译后的执行文件名字是,example2,存放在驱动器,d,的,user2,目录下。,(,1,)在,AutoCAD,的,Command,:或控制台,_$,提示下,调用,vlisp-compile,函数,(vlisp-compile st d:/user1/example1 d:/user2/example2),以标准模式编译驱动器,d,的,user1,目录下的,LSP,文件,example1.lsp,,在驱动器,d,的,user2,目录下得到可执行文件,example2.fas,。,(,2,)了解编译输出(,Build Output,)窗口,如果源程序没有错误,将在图,7-1,所示为,编译输出,窗口显示编译过程各阶段的有关信息。首先是源代码的语法和词汇检查,然后进行编译,并显示源文件中所定义的函数名或,AutoCAD,命令名,最后报告所生成的执行文件的名字和路径。,如果编译器检查到错误,将在,编译输出,窗口显示出错信息并停止编译。如果编译器遇到重定义现有的,AutoLISP,函数或为受保护的符号赋值,将会发出警告消息。当编译器显示警告和出错信息时,双击该类信息,将自动切换到文本编辑窗口,并亮显含有该类出错信息的源程序代码。,图,7-1,编译输出窗口,5.,加载和运行已编译程序,无论是,.fas,文件,还是可以包含多个已编译程序的,.vlx,打包文件,都可以在,Visual LISP,控制台窗口、,AutoCAD,命令提示处加载这些已编译的,AutoLISP,程序,也可以在,AutoCAD,菜单上选取,T,ools,L,oad Application,、,T,ools,AutoLI,S,P,L,oad,或,Visual LISP,菜单上选取,F,ile,Load,F,ile,加载这些已编译的,AutoLISP,程序。,(,1,)在,Visual LISP,控制台窗口加载已编译的,LSP,程序,(load d:/user2/example.fas),如果不指定文件扩展名,,load,函数首先查找并加载扩展名为,.vlx,的文件;如果没有找到,.vlx,文件,,load,函数将查找并加载,.fas,文件;如果没有找到,.fas,文件,,load,函数将查找并加载,.lsp,文件,。,也可以选择,Visual LISP,菜单,F,ile,Load File,,通过随后弹出的,Load lisp file,对话框来选择要加载的文件。,(,2,)在,Visual LISP,控制台提示下,输入用括号括起的函数名,即可运行该函数。运行用,LISP,定义的,AutoCAD,命令,不能省略命令名前面的,C,:,而且必须用括号括起。,在,AutoCAD,窗口调用函数时,输入的函数名和参数用括号括起,调用,LISP,定义的,AutoCAD,命令时,直接键入自定义的,AutoCAD,命令名。,(,3,)加载,AutoLISP,扩展函数,Visual LISP,对,AutoLISP,语言进行了扩展,这些扩展函数的名称以,vla-,、,vlax-,和,vlr-,开头。启动,AutoCAD,时它们不会被自动加载。在使用这些函数之前,必须调用,vl-load-com,函数加载这些,AutoLISP,扩展函数。其格式如下:,(vl-load-com),7.2,用应用程序生成器创建应用程序,应用程序生成器以向导的方式将,AutoLISP,源代码、已编译的,AutoLISP,程序、对话框定义文件等资源文件生成独立的可执行文件,该文件的扩展名为,.vlx,,称为,VLX,文件。,应用程序生成器在创建,VLX,文件的同时,还生成了展名为,.fas,的已编译的,AutoLISP,文件,扩展名为,.prv,的程序生成文件。后者包括,Visual LISP,创建应用程序所需的所有指令。,用应用程序生成器创建应用程序之前,应该对源程序进行完整的调试或试运行,以免在生成过程中出现的编译错误导致其不能完成创建工作。,假定,gear.lsp,是以对话框为输入界面的绘制齿轮的,LISP,源程序,,gear.dcl,是定义输入齿轮参数的对话框文件,它们存放在驱动器,d,的,user1,目录下, 创建的应用程序名字为,chilun,,存放在驱动器,D,的,user2,目录下。用应用程序生成器创建可执行的程序步骤如下:,(1),调用应用程序生成向导,从,Visual LISP,菜单上选择,F,ile,M,ake Aplication,N,ew Aplication Wizard,,启动向导。,Visual LISP,将显示图,7-2,所示向导模式对话框。,图,7-2,向导模式对话框,(2),确定向导模式,应用程序生成向导有,Simple,(简单)和,Expert,(专家)两种模式。在简单模式下,只需指出,LISP,源文件、,LISP,编译文件或,Visual LISP,工程文件和要创建的文件名;在专家模式下,可以设置许多其他的选项。如果是单一,LISP,程序,应该选,Simple,模式,本例因为还要包含有对话框文件,因此选择,Expert,模式。单击,Next,按钮。将弹出图,7-3,所示,应用程序路径,对话框。,图,7-3,应用程序路径对话框,(3),确定待建程序的位置和名称,在图,7-3,所示应用程序路径对话框的,Application Location,编辑框填写应用程序所处的位置(目录)。可以通过,Browse,(浏览)按钮在目录树上指定应用程序所处的位置,也可以在文本框中输入完整的路径名。例如:,d:/user2,。 在,Application Name,编辑框填写要创建的应用程序名。例如:,chilun,这样将在,d:/user2/,目录下创建应用程序文件,chilun.vlx,和程序生成文件,chilun.prv,。,图,7-4,应用选项对话框,在简单模式和专家模式下都会出现图,7-3,所示应用程序路径对话框。,单击,Next,按钮。弹出图,7-4,所示,应用选项,对话框。,本例不打开,Separate Namespace,切换开关,单击,Next,按钮将弹出图,7-5,所示的,包含,LISP,文件,对话框。,(,5,)确定,LISP,文件的类型,LISP,文件可以是,AutoLISP,源代码文件、编译,AutoLISP,文件,(FAS),或,Visual LISP,工程文件三种类型。通过图,7-5,所示的包含,LISP,文件对话框的下拉菜单确定,LISP,文件类型。,图,7-5,包含,LISP,文件对话框,例如选择了,Lisp source files,类型,并且单击,Add,按钮,将弹出图,7-6,所示,添加,lisp,源文件,对话框。,(,6,)添加,lisp,源文件,可以使用标准的,Windows,文件选取方法来选取多个文件。在图,7-6,所示对话框上选取,gear.lsp,文件之后,单击,打开,按钮可以将该文件添加到应用程序中,见图,7-7,所示包含,Lisp,文件的对话框。如果想继续添加其他类型的文件,先从下拉列表处选择文件类型后再单击,Add,按钮。,图,7-6,添加,lisp,源文件对话框,如果指定的是,AutoLISP,源文件,,Visual LISP,在打包成,VLX,文件前先编译成,FAS,类型的文件;如果指定的是,FAS,类型的文件,则直接将其打包;如果指定的是,PRJ,类型的工程文件,则工程文件中的所有文件将根据其具体类型先编译再打包或直接打包成,VLX,文件。,如果要从应用程序中删除文件,只需选取这些文件后单击,Remove,按钮即可,也可以在选取一个或多个文件后,单击鼠标右键并从快捷菜单中选择,Remove,项。,图,7-7,包含,Lisp,文件的对话框,应用程序文件的加载顺序和它们在,LISP Files to Include,对话框中列出的顺序相同。如果在加载时调用某函数,则必须在调用该函数前定义它。在这种情况下,应该把定义该函数的文件放在调用该函数的文件之前。选取待调整的文件名,然后点取下列按钮即可。,Top,: 移到列表顶端。,Up,:移到上一文件之前。,Down,:移到下一文件之后。,Bottom,:移到列表底端。,也可以先选取待调整的文件名,然后单击鼠标右键,从随后弹出的快捷菜单上选取相应选项。如果是工程文件,因其内的源文件顺序已在工程文件内定义,只能通过修改工程文件以改变源文件的顺序。,由于将应用程序生成向导确定为专家模式,因此,单击,Next,按钮,将弹出图,7-8,所示的,包含资源文件,对话框。,图,7-8,包含资源文件对话框,(,7,)添加资源文件,通过添加资源文件对话框。可以用添加源文件的类似操作添加(移去)对话框控制,DCL,文件、,DVB,文件、文本文件等资源文件。如果添加的是,LISP,工程文件,在该工程文件中的所有文件都将被编译并包含到,VLX,文件。,图,7-9,添加,DCL,文件对话框,点取图,7-8,所示对话框的下拉列表,选取,DCL files,,点取,Add,按钮,将弹出图,7-9,所示的添加,DCL,文件对话框。选取,gear.dcl,文件,点取,打开,按钮,该,DCL,文件将被加入到应用程序中,见图,7,10,。,图,7-10,包含资源文件对话框,单击,Next,按钮,将弹出图,7-11,所示的,确定编译选项,对话框。,(,8,)确定编译选项,仅在专家模式下才出现图,7-11,所示确定编译选项如果选择了,Standard,,此为标准模式,将生成最小的输出文件,它适合于只包括单个文件的程序;如果选择了,Optimize and Link,,此为优化和链接模式,可使生成的的编译文件效率更高,它适合于较大和较复杂的程序。,图,7-11,确定编译选项对话框,本例选择两种模式均可,确定编译选项后,单击,Next,按钮将弹出图,7-12,所示的,查看选项,/,编译,应用程序,对话框。,(,9,) 创建应用程序,这是应用程序生成向导的最后一步,单击,Back,按钮,返回到上一步,查看上一步的选择;单击,Finish,按钮,创建应用程序结束。,图,7-12,查看选项,/,编译应用程序对话框,运行,应用程序生成,向导结束。在,d:user2,路径下,生成了,chilun.prv,、,chilun.vlx,和,gear.fas,文件。其中,chilun.prv,是包括,Visual LISP,创建应用程序所需的程序生成文件,gear.vlx,是打包的可执行文件,,gear.fas,是编译,gear.lsp,时生成的目标文件。加载,gear.vlx,或,gear.fas,,在,Command,:,提示下键入,GEAR,即可调用该应用程序绘制齿轮。,如果只有,AutoLISP,文件(源文件或目标文件),在创建应用程序时,第,(2),步应选择,Simple,(简单)作为向导的模式,这样可以省略第(,4,)、(,7,)和(,8,)步。,7.3,利用工程管理器管理和维护,LISP,文件,AutoLISP,应用程序通常都是由多个独立的,LISP,文件组成的。随着应用程序中文件数量的增加,对这些文件的管理和维护就变得很困难。在这种情况下,应该使用,Visual LISP,提供的最有效的工具,工程管理器。,7.3.1,工程管理器的功能,工程管理器通过命名的工程对工程所包含的,LISP,文件进行管理和维护。一个工程在本质上就是一个,LISP,源文件表和一套如何编译这些文件的规则。,工程管理器具有以下的功能。,检查应用程序中哪些,LISP,源文件尚未被编译或者在上一次编译后又被修改过,并自动编译这样的一些文件。,通过一个命名的工程的列表,可以很简单地查找并打开相关的文件。,可以在一个工程的所有的文件中查找指定的源程序代码。,可以通过直接链接多个源文件中的相同描述来优化编译结果。,下面通过一个实例介绍利用工程管理器管理和维护多个,LISP,文件的有关操作。,【,例,7-1】,定义以递规方式绘制旋转正六边形的命令。正六边形的旋转中心,pc,、最大边长,lmax,、最小边长,lmin,和旋转角,alf,是交互输入的参数。正六边形在旋转过程中,除了最外层的正六边形之外,每一个正六边形的顶点都在前一个正六边形的边上,当正六边形的边长缩短到近似最小边长,lmin,时,绘制结束,见图,7-13,(,a,)。从图,7-13,(,b,)可以看出每个正六边形与旋转后的下一个正六边形的边长之间具有以下的关系:,(,a,) (,b,),图,7-13,以递归方式绘的制旋转正六边形,为了演示多文件的操作,将该程序分别存放于两个文件。文件,file1.lsp,存放该程序的主函数部分。主函数定义了名字为,r-hexagon,的,AutoCAD,命令。文件,file2.lsp,定义了名字为,hexagon,的函数。函数,hexagon,被主函数调用。它们都存放在,d,盘的,user1,目录下。,文件,file1.lsp,的源代码如下:,(defun c:r-hexagon( / pc lmax lmin alf ),(setvar cmdecho 0),;,关闭普通命令提示信息,(setvar blipmode 0),;,关闭光标痕迹,(setvar osmode 0),;,关闭对象捕捉状态,(setq pc(getpoint n,输入正六边形的旋转中心,:),(setq lmax(getdist pc n,输入正六边形的最大边长,:),(setq lmin(getdist pc n,输入正六边形的最小边长,:),(setq alf(getangle pc n,输入正六边形的旋转角,:),(hexagon pc lmax lmin 0.0),;,调用递归方式绘制旋转正六边形的函数,(princ),;,静默退出,),文件,file2.lsp,的源代码如下:,(defun,hexagon (pc l lmin phi ),;,变元,phi,是正六边形的初始角度,(command pline (polar pc phi l),(polar pc (+ phi (/ pi 3.0 ) l),(polar pc (+ phi (/ pi 1.5 ) l),(polar pc (+ phi pi) l),(polar pc (+ phi (/ pi 0.75) l),(polar pc (+ phi (/ pi 0.6 ) l),c,),(if (= l lmin),(progn,(setq l(/ l (+ (cos alf) (* (sin alf) 0.5773503),;,下一个正六边形的边长,(setq phi (+ phi alf),;,下一个正六边形的旋转角度,(hexagon pc l lmin phi),;,绘制下一个正六边形,),),7.3.2,创建一个工程,1.,创建一个工程文件,选择菜单,Project,New project,,将弹出图,7-14,所示的新工程对话框,此对话框用于确定新工程的路径和文件名。例如输入工程的名字为,rh,,存放在,d,盘的,user2,目录下。,图,7-14,新工程对话框,2.,向工程添加,LISP,源文件,单击图,7-14,新工程对话框的保存按钮,将弹出图,7-15,所示的工程特性对话框。该对,话框有,工程文件,和,编译选,项,两个选项卡。工程文件,选项卡用于向工程添加,LISP,源文件。,图,7-15,工程特性对话框,图,7-15,所示为工程文件选项卡。通过按钮 指定,LISP,源文件的路径,路径下方的列表显示了该路径下所有的,LISP,文件名。选取该列表的一个或多个文件,单击按钮 ,被选的文件就会转移到右边的列表内。右边的列表显示了该工程当前包含的所有,LISP,文件名。,如果选取右边列表的一个文件,单击按钮 ,被选的文件就会从当前的工程中移回原处。按钮,Top,、,Up,、,Down,和,Bottom,用于排列,LISP,文件在列表框中的顺序,该顺序即为加载这些文件的顺序。,例如,在图,7-15,所示为工程文件选项卡上单击按钮 ,指定,LISP,源文件的路径为,d,盘的,user1,。路径下方的列表内显示了,user1,路径下的,LISP,文件名。选取该列表的文件,file1,和,file2,之后,单击按钮 ,文件,file1,和,file2,将移至右边的列表作为,rh,工程的成员。单击确定按钮,将弹出图,7-16,所示的工程窗口,名字为,rh,的工程创建完毕,同时在,d,盘的,user2,目录下得到了名字为,rh.prj,的工程文件。,7.3.3,工程窗口,工程窗口的标题显示了该工程的名字,列表框内显示了该工程包含的所有的,LISP,源文件的名字,双击列表框内的任意一个文件名(无论文件是否打开)即可激活包含该文件的文本编辑窗口。,图,7-16,工程窗口,工程窗口的工具栏上有,5,个按钮,它们分别具有以下的功能。,:弹出图,7-15,所示的工程特性对话框,通过该对话框修改该工程的特性。,:加载工程中所有经过编译的,.fas,文件。如果某些,LISP,文件尚未被编译,则显示如图,7-17,所示的是否编译这些文件的询问信息。单击按钮,是,,则首先编译这些文件,然后将其加载,单击按钮,否,,则直接加载这些,LISP,源文件和已经存在的,.fas,文件。,假定文件,file1.lsp,和,file2.lsp,尚未被编译,单击此按钮,在图,7-17,所示的询问框中单击按钮,是,,则首先编译这两个文件,然后加载刚生成的,file1.fas,和,file2. fas,。这时在,AutoCAD,的,Command,:,提示下,键入,r-hexagon,命令即可绘制旋转正六边形。,:加载工程中所有的,LISP,源文件。,:编译工程中所有的在上一次编译后被修改过的文件,生成新的,.fas,文件。,:重新编译工程中所有的,LISP,,无论这些文件是否已经被编译过。,以上操作也可以通过工程的快捷菜单的相应选项完成。将鼠标移至工程窗口的列表框内,单击鼠标右键,将弹出图,7-18,所示的快捷菜单,其中各菜单项的功能见下一页。,图,7-18,工程窗口的快捷菜单,Edit,:编辑选中的文件,Add File,:打开工程特性对话框,向工程中添加文件,Remove file,:从工程中删除选中的文件,Load,:加载所选文件的,.fas,文件,如果所选文件尚未被编译,则加载其,LISP,源文件,Load source,:加载所选文件的,LISP,源文件,Check syntax,:对所选的文件进行语法检查,Touch,:,处理,所选的文件。经过,处理,的文件即使是新编译过的,单击图标 时,也要再次重新编译。,Arrange files,:根据该菜单项的下一级菜单提供的规则对工程中的成员排序,Multiple Selection,:单击该菜单项可以切换否具有多选功能的状态。若设置为多,选,菜单项前加标记,UnSelect all,:没有一个文件被选取时,选取所有文件。已经选取了一些文件时,,放弃选取的那些文件,Close project,:关闭当前的工程,Save proct as,:,将当前的工程另存为其他名字,7.3.4,在工程中查找源程序代码,单击查找按钮 ,弹出图,7-19,所示的查找对话框。打开,Project,互锁按钮,通过,Project,下拉列表选取一个工程,在,Find What,列表输入或选择要查找的源程序代码,单击,Find,按钮,在图,7-20,所示的查找输出窗口报告了在指定工程的所有文件中查找的结果。,图,7-19,查找对话框,例如,通过,Project,下拉列表选取工程,rh,,在,Find What,列表输入,hexagon,,单击,Find,按钮,在图,7-20,所示的查找输出窗口中显示了在文件,file2.lsp,和,file1.lsp,中含有源代码,hexagon,的,4,个表达式。双击其中任意一个表达式,就会激活该表达式所在的文件,并且亮显所查找的源代码,例如,hexagon,处于被选状态。,图,7-20,查找输出窗口,7.3.5,通过工程创建应用程序,上一节介绍了用应用程序生成器创建应用程序的全过程。在第,5,步确定,LISP,文件的类型时,除了选择,LISP,源文件和编译过的,LISP,文件之外,还可以选择,Visual LISP,工程文件。通过指定的工程文件名,该工程所包含的所有文件都被添加到应用程序中。,例如,通过图,7-21,所示的包含,LISP,文件对话框的下拉列表选择,VisualLISP project,,单击,Add,按钮,通过随后弹出的,Add VisualLISP project files,对话框选择,d,盘的,user2,目录下的,rh.prj,工程文件,见图,7-21,。最后单击,Next,按钮,进行下一步操作。此时,d,盘的,user1,目录下的文件,file1.lsp,和,file2.lsp,被添加到当前的应用程序。,图,7-21,选择了,VisualLISP project,选项的包含,LISP,文件的对话框,7.3.6,优化应用程序,通过,Visual LISP,编译选项的优化功能可以得到运行效率更高的编译代码。单击图,7-15,所示的工程特性对话框的编译选项标签,即可显示图,7-22,所示的编译选项卡。该选项卡包含以下的一些工程编译选项。,图,7-22,编译选项卡,1. Compilation Mode,栏,该栏的功能是确定设置编译模式,它有以下两个选项。,l,Standar,(标准):选择标准模式时,编译器将保留函数和全局变量的符号名,因为这些符号可能被其他程序引用。在引用某一符号时,编译器将在符号表中查找这个符号。该模式比较适合于单个文件的程序。,l,Optimize,(优化):选择优化模式时,编译器将认为工程中的所有文件将最终生成一个完整的应用程序。因此编译器将不考虑符号名,而是直接引用存放符号值的内存区域地址。优化模式可以生成体积更小,运行效率更高的应用程序,它比较适用于含有事件反应器或对话框功能的程序。,2. Merge file mode,栏,该栏的功能是确定合并文件的模式,它有以下两个选项。,l,One module for each file:,为每一个,LISP,文件创建一个独立的,.fas,文件。,l,Single module for all:,将工程中全部成员文件编译为一个,.fas,文件。,3. Link mode,栏,该栏的功能是确定链接的模式,它有以下,3,个选项。,l,Do Not Link,(不链接),:,编译器将保存函数的符号,程序在引用函数时,是通过符号找到函数的内存地址。,l,Link,(链接),:,编译后的程序在引用函数时,不是通过函数名,而是直接访问函数的内存地址,这样可以提高程序的运行效率。,l,Internal,(内部),:,编译器在编译结果中不保留函数名,而是把所有对函数的引用表达式直接链接到函数的内存地址。内部链接能够明显提高程序运行的效率,可以保护程序不会受到函数重定义的影响,而且程序中的函数对于用户变得不可见,这样就提高了程序的安全性。但是内部链接并不删除作为,AutoCAD,命令的符号。如果需要在程序运行中重新定义函数,就不应选择内部模式。,4. Message mode,栏,此栏的功能是确定信息显示的模式,它有以下,3,个选项。,Fatal errors,:显示致命的错误,即导致编译失败的错误信息。,Errors and warnings,:显示错误和警告信息。,Full reports,:显示所有的出错信息。,5. Localize variables,(定位变量)切换开关,如果在编译模式栏选择了,Optimize,(优化),该切换开关才处于可用状态,若该开关为打开状态,则编译器将从编译过的文件中删除局部变量的名字。,6. Safe optimize,(安全优化)切换开关,如果在编译模式栏选择了,Optimize,(优化),该切换开关才处于可用状态,若该开关为打开状态,则编译器将不使用那些已知的可能导致某些错误的优化。,7. Fas directory,(,.fas,目录)编辑框,指定编译输出结果文件(,.fas,)的目录,默认的路径为工程文件所在的目录。,8. Tmp directory,(临时文件目录)编辑框,指定与工程相关的临时文件的存放目录,默认的路径为工程文件所在的目录。,9. Edit Global Declarations,(编辑全局声明)按钮,创建和编辑工程的全局变量声明文件,(,扩展名为,.gld),,该项功能只是为了和,Visual LISP,以前的版本兼容。,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > PPT模板库


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!