登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
FORTRAN95程序设计实验指导 第一节 Compaq Visual FORTRAN 6.5快速入门 1.1 安装Compaq Visual FORTRAN 6.5 1.1.1 系统要求 安装Compaq Visual FORTRAN 6.5(以下简称为CVF)需要具备以下软硬件条件: l 80586或以上处理器,运行Windows 98//NT/2000或以上操作系统。 l 具有光盘驱动器。 l 64MB或以上内存。 l 足够的硬盘空间。安装程序根据安装选项提示所需的硬盘空间。专业版的典型安装需要约300MB硬盘空间。 l SVGA显示器。 l 鼠标。 1.1.2 安装步骤 下面以Windows 2000操作系统为例,对于其他Windows 操作系统,安装过程与此类似。 file:///C:/Users/kingtansin/AppData/Local/Packages/oice_15_974fa576_32c1d314_f21/AC/Temp/msohtmlclip1/01/clip_image002.jpg首先,将含CVF的光盘插入光盘驱动器,在资源管理器中运行Setup程序,屏幕显示Compaq Visual FORTRAN Setup窗口;单击【istall Visual Fortran】按钮;当出现询问是否查看README.TXT文件的对话框时单击【否】按钮; file:///C:/Users/kingtansin/AppData/Local/Packages/oice_15_974fa576_32c1d314_f21/AC/Temp/msohtmlclip1/01/clip_image004.jpg 安装程序自动搜索已有组件,单击【Continue】(继续)按钮,并按提示输入用户名、公司名、产品系列号后,安装程序会显示安装选项对话框(图1.1);如果要改变安装CVF的文件夹,单击【Change Folder...】(改变文件夹)按钮,选择或输入所需的文件夹名;如果输入的文件夹不存在,安装程序会自动生成该文件夹,并生成几个下级文件夹以存放相应的各类文件。图1.1还显示了各安装选项的简短说明和安装时所需的硬盘空间。 file:///C:/Users/kingtansin/AppData/Local/Packages/oice_15_974fa576_32c1d314_f21/AC/Temp/msohtmlclip1/01/clip_image006.jpg 选择下列四个安装选项之一继续安装: Typical(典型) Custom(定制) Run from CD-ROM(从光盘运行) Typical(典型)安装选项将安装最常用的部分,约需298MB硬盘空间。Custom(定制)安装选项将允许用户选择安装自己需要的组件(约需350MB空间)。Run From CD-ROM(从光盘运行)安装选项约需29MB硬盘空间。 图1.1 选择所要安装的组件时,要注意硬盘是否有足够的空间(安装程序会自动检测)。安装后如果要增加、删除某些组件或卸载CVF时,可以再运行Setup,按提示进行操作即可,当然也可以在控制面板选择添加/删除程序进行卸载。 1.2 Developer Studio用户界面简介 在“开始”菜单的程序组中,选择【Compaq Visual FORTRAN 6】程序组的【DeveloperStudio】,如果已经在桌面建立了它的快捷方式,可双击快捷方式的图标来运行CVF集成开发环境。启动CVF集成开发环境后遇到【Did you know…】对话框,单击【Close】按钮,进入Developer Studio用户界面。
| | file:///C:/Users/kingtansin/AppData/Local/Packages/oice_15_974fa576_32c1d314_f21/AC/Temp/msohtmlclip1/01/clip_image008.jpg |
Developer Studio用户界面包含较复杂的菜单、工具条和多种窗口。如图1.2所示,上部是命令菜单,提供Microsoft Visual Studio的全部功能,包括工程管理、生成和编辑源程序文件以及设计程序资源(如菜单、对话框和图标);跟踪和调试程序;查看联机帮助手册等。菜单的下面是标准的工具条,提供常用的文件管理、编辑命令等按钮。标准的工具条下面是工程工具条,提供了常用的编译、链接、运行和调试程序的按钮,另外还包括编辑资源(菜单、对话框、工具条和位图等)的按钮。 file:///C:/Users/kingtansin/AppData/Local/Packages/oice_15_974fa576_32c1d314_f21/AC/Temp/msohtmlclip1/01/clip_image010.jpg 图1.2 图1.2的中部并列着两个窗口,左边的窗口是工程项目窗口,工程项目窗口的下面有两个标签,从左至右分别为【ClassView】(查看类信息)、【FileView】(查看文件)。 工程项目窗口的各窗格均以树形结构显示各自包含的内容。【FileView】(查看文件)显示工程中包含的文件,。【ClassView】(查看类信息)显示面向对象程序设计的类信息(Fortran不用)。 工程项目窗口的右边是【Source】(源文件)窗口。它与左边的窗口对应,显示源文件的内容,如程序源代码或对话框、菜单等资源。 图1.2的下部是信息【Output】(输出)窗口。它的下面有Build、Debug、Find in Files等标签,分别显示编译链接、调试和查找信息。 工程项目窗口和信息【Output】(输出)窗口是可停靠(Dockable)的窗口,可按需要停靠到主窗体的合适位置,也可移动到主窗体外面使它成为浮动窗口。【Source】(源文件)窗口属于文档窗口。 在调试程序时,还提供了很多显示调试信息的窗口,第四章讲述有关程序调试的详细内容。 1.3 建立一个工程 1.3.1 创建工程 为了使用Developer Studio开发FORTRAN程序,需要先建立所要编写程序的工程(Project)。CVF的工程中存放了建立特定程序所要的全部信息。这些信息包括程序源文件名称及相互关系、所需库文件清单、编辑器、链接器和建立该程序所用的其它信息的清单。 下面编写名为Hello的FORTRAN程序。为此要先创建工程,其步骤如下: 1)从DeveloperStudio的【File】(文件)菜单选择【New】(新建)命令,出现【New】(新建)对话框(图1.3)。 file:///C:/Users/kingtansin/AppData/Local/Packages/oice_15_974fa576_32c1d314_f21/AC/Temp/msohtmlclip1/01/clip_image012.jpg 图1.3 2)在【New】(新建)对话框中选择【Projects】(工程项目)标签,选择其中的【Fortran Console Application】(控制台应用程序)。控制台应用程序是32位字符方式程序。它可以全屏也可以在Windows桌面的简单窗口内运行。其它的几种工程类型为: Fortran Dynamic-Link Libraries:动态链接库,扩展名为.dll。 FortranStandard Graphics or QuickWin Application:在一个或多个窗体允许图形输出或其它屏幕功能的应用程序。文件扩展名为.exe。 Fortran Static Libraries:静态库,扩展名为.lib。 Fortran Windows Application:使用Windows Win32 API函数开发的完全图形化界面的应用程序。文件扩展名为.exe 3)在【Location】(位置)编辑框中,输入存放这个工程的文件夹,当然也可以单击【Browe...】(浏览)按钮选择所需的文件夹。注意,文件夹名中不能含有汉字,否则,编译时会出错。 4)在【Project name】(工程名字)编辑框中,输入工程名Hello,Developer Studio会自动生成Hello文件夹。 5)单击【New】(新建)对话框中的【OK】(确定)按钮,出现如下对话框,单击【Finish】(结束)按钮。在出现的【New Project Information】对话框中,单击【OK】(确定)按钮。Developer Studio生成并打开名为Hello的工程。这个工程的信息显示在工程项目窗口中。 file:///C:/Users/kingtansin/AppData/Local/Packages/oice_15_974fa576_32c1d314_f21/AC/Temp/msohtmlclip1/01/clip_image014.jpg如果没有出现工程项目窗口,选择【View】(视图)菜单下的【ProjectWorkspace】(工程项目)或按快捷键Alt+0显示它。工程项目窗口的底部有【File View】(查看文件)和【Info View】(查看信息)两个标签,单击底部的标签可以在工程项目窗口的不同窗格(Pane)间切换。 要保存工程,选择【File】(文件)下的【Save All】(全部保存)。 file:///C:/Users/kingtansin/AppData/Local/Packages/oice_15_974fa576_32c1d314_f21/AC/Temp/msohtmlclip1/01/clip_image016.jpg 1.3.2 生成和编辑源代码文件 现在,需要编写源程序代码。选择【File】(文件)下的【New】(新建),出现【New】(新建)对话框,在【New】(新建)对话框中选择【Files】(文件)标签(参看图1.4),选择【Fortran Free Format Source File】(自由格式源程序文件),在【File】(文件)下的编辑框中,输入源程序文件名hello。单击【OK】(确定)按钮创建新文本文件。源文件的缺省扩展名为.f90。源程序Hello.f90自动加入到工程中。 当然也可以直接单击工具条上的【New Text File】(新建文本文件)按钮(图1.5中最左端的按钮)来创建新文本文件。图1.5所示的按钮从左至右实现的功能分别为:建立新文件、打开文件、保存文件(正在编辑的文件)及保存所有文件。注意保存文本文件时要加“.f90”文件扩展名。此时源程序文件未加入到工程中。 file:///C:/Users/kingtansin/AppData/Local/Packages/oice_15_974fa576_32c1d314_f21/AC/Temp/msohtmlclip1/01/clip_image018.jpg file:///C:/Users/kingtansin/AppData/Local/Packages/oice_15_974fa576_32c1d314_f21/AC/Temp/msohtmlclip1/01/clip_image020.png 图1.4 新【Source】(源文件)窗口(在工程项目窗口右边)为空白窗口。这个窗口实际上是一个文本编辑器(有关文本编辑器的详细功能在第三章介绍),利用文本编辑器输入下面的FORTRAN程序源代码: PROGRAM MAIN IMPLICIT NONE PRINT*,'Hello,World!' END PROGRAM MAIN 1.3.3 将文件加入工程 要把在文本编辑器窗口中的文件快速加入到工程中,在文本编辑器窗口中右击,然后在弹出的快捷菜单中选择【Insert Files into Project】(插入文件到工程),再选择Hello,可以快速的将文件加入到工程中。 file:///C:/Users/kingtansin/AppData/Local/Packages/oice_15_974fa576_32c1d314_f21/AC/Temp/msohtmlclip1/01/clip_image022.jpg加入文件到工程中后,单击工程项目窗口底部的【FileView】(查看文件)标签,则窗口中显示工程名Hello。单击【Source Files】左边的加号“+”,这时显示该工程所包含源文件名称和Hello.f90(图1.6)。 图1.6 【FileView】(查看文件)窗口显示工程所包含的文件
| | file:///C:/Users/kingtansin/AppData/Local/Packages/oice_15_974fa576_32c1d314_f21/AC/Temp/msohtmlclip1/01/clip_image024.jpg
file:///C:/Users/kingtansin/AppData/Local/Packages/oice_15_974fa576_32c1d314_f21/AC/Temp/msohtmlclip1/01/clip_image025.png要把创建和保存但未打开的源程序文件加入到工程中,在【FileView】(查看文件)窗口中右击,然后在弹出的快捷菜单中选择【Add Files to Project…】(加入文件到工程)(图1.7 a),出现【Insert Files into Project】(插入文件到工程)对话框(图1.7 b),选择要加入到工程中的源程序文件,可以将一个或多个源程序文件加入到工程中。 file:///C:/Users/kingtansin/AppData/Local/Packages/oice_15_974fa576_32c1d314_f21/AC/Temp/msohtmlclip1/01/clip_image026.png a b 图1.7 对于有几个源文件的工程,【FileView】(查看文件)窗口显示工程所包含的所有源文件及其附属文件(如头文件等其它源文件所依赖的文件),而且可以双击图中文件名打开源文件(显示在【Source】(源文件)窗口中)。 如果要从工程中移走文件,在【FileView】(查看文件)窗口选择要从工程中移走的文件名,按【Delete】(删除)键或单击剪切工具按钮即可。 1.4 编译和执行程序 1.4.1 生成可执行文件 现在可以生成可执行文件了。在编译、链接之前可以设置编译和链接选项,这里先使用缺省设置。后面讲述如何设置编译和链接选项。 下面生成Hello程序的调试(Debug)版的可执行文件。注意CVF可以生成程序的调试版和发布(Release)版。调试版中包含一些调试信息,因而比发布版的可执行文件要大一些。如果选择生成调试版,则Developer Studio将输出文件保存在存放工程文件夹的Debug目录中。如果选择生成发布版,则存放在Release目录中。为确保选择生成调试版的可执行文件,在构建工具条(图1.8)的【Select Active Configuration】(选择活动的工程配置)组合框中选择【Win32 Debug】选项。图1.8右边的6个按钮的功能分别为编译、生成可执行文件、停止生成、执行、调试和插入/移去断点。file:///C:/Users/kingtansin/AppData/Local/Packages/oice_15_974fa576_32c1d314_f21/AC/Temp/msohtmlclip1/01/clip_image027.png
为了生成可执行文件,单击工程工具条(参看图1.8)上的第二个按钮,或选择【Build】(生成)菜单下的【Build Hello.exe】(生成Hello.exe)命令,或按快捷键F7。在生成可执行文件的同时,Developer Studio的【Output】(输出)窗口显示编译链接过程的结果信息。如果【Output】(输出)窗口不可见,从【View】(视图)菜单选择【Output】(输出)或按快捷键Alt+2显示【Output】(输出)窗口,单击【Output】(输出)窗口的【Build】(生成)标签,可以查看编译链接过程的结果信息,如果程序中有错,【Output】(输出)窗口会显示错误或警告信息和这些信息的总数。 如果【Output】(输出)窗口显示错误或警告信息,则可以双击【Output】(输出)窗口中包含该信息的行找到产生错误的源程序行。也可以按F4查阅编译链接时出现的下一条错误,或按Shift+F4查阅上一条错误。在Hello.f90中引入一些错误并重新编译链接即可测试此功能。 如果要放弃生成可执行文件,可以在完成之前,从【Build】(生成)菜单选择【Stop Build】(停止生成)命令,或按快捷键Ctrl+Break,或单击工程工具条的第三个按钮来停止。 注:如果程序中包含多个源文件,Developer Studio通常只处理上次编译链接后改变的文件。但如果改变了工程设置,则显示消息框提示工程设置已经改变;如果在消息框中单击【Yes】(是),则重新编译所有的文件。也可以从【Build】(生成)菜单选择【Build All】(生成所有文件)命令或按快捷键Alt+F8来强迫Developer Studio重新编译、链接工程中包含的所有文件。 1.4.2 执行一个程序 生成可执行文件后,可以单击工程工具条(参看图1.8)上的第四个按钮“!”,或从【Build】(生成)菜单选择【Execute Hello.exe】(执行Hello.exe),或按快捷键Ctrl+F5直接在Developer Studio中运行它。图1.9是Hello.exe运行完毕时的窗口。 file:///C:/Users/kingtansin/AppData/Local/Packages/oice_15_974fa576_32c1d314_f21/AC/Temp/msohtmlclip1/01/clip_image029.png 1.5 使用一个工程的单个源文件的控制台应用程序 至此,已经学习了如何利用Developer Studio建立工程、生成和编辑源程序文件、将源文件加入工程、生成可执行文件和运行程序。但是,在上机时,如何使用一个工程而多次创建一个源文件的控制台应用程序呢? 可以使用以下的方法: 1)从【File】(文件)菜单选择【New】命令创建一个源文件。 2)编辑该源程序文件。 3)在源程序窗口击右键,选择快捷菜单中的【Insert File into Project】命令,把该源程序文件插入到工程。 4)在工程工作空间窗口的【Source】文件夹中,选择其他源程序文件并逐个从工程中删除。 5)生成可执行文件和执行程序。 注:从工程中删除的源程序文件仍然处于打开状态,仅仅当前与本工程断开了联系。采用上面的方法,仍然可以再插入到工程中。 第二节 定制和使用Developer Studio 2.1 Developer Studio的窗口 CVF Developer Studio包含多种窗口。这些窗口有工程项目窗口,【Source】(源文件)窗口、信息【Output】(输出)窗口和多种【Debug】(调试)窗口。工程项目窗口显示工程中包含的源文件、资源(如菜单、对话框)等。【Source】(源文件)窗口显示源文件的内容如程序源代码或对话框、菜单等资源。信息【Output】(输出)窗口显示编译链接、调试和查找结果等信息。【Debug】(调试)窗口显示有关程序调试的信息。 这些窗口可以分为两类:文档窗口和可停靠(Dockable)窗口。它们只能局限在Developer Studio的主窗体内。【Source】(源文件)窗口属于文档窗口。文档窗口可以调整大小、最大化或最小化。工程项目窗口和信息【Output】(输出)窗口可按需要停靠到主窗体的合适位置。 2.1.1 文档窗口 文档窗口包括文本和资源编辑窗口以及浏览窗口。文档窗口是和工程联系在一起的,关闭工程时,Developer Studio记录了它们的位置、大小等信息。可以在文档窗口中右击,弹出菜单,菜单中包含了与窗口当前状态相关的命令。 可以按Windows 中窗口操作的方法调整各个文档窗口的大小和位置。也可以从【Windows】(窗口)菜单下选择【Cascade】(层叠)、【Tile Horizontally】(水平排列)和【Tile Vertically】(垂直排列)命令来排列窗口,或选择【Split】(分割)命令来分割窗口。 要在打开工程时调入工程包含的文档,步骤如下: 1)从【Tools】(工具)菜单,选择【Option】(选项)命令,出现【Option】(选项)对话框。 2)选择【Workspace】(项目)标签,图2.1是对话框的【Workspace】(项目)选项卡。 3)核选【Reload documents when opening project】(打开工程时调入工程包含的文档)。 4)单击【OK】(确定)按钮。 file:///C:/Users/kingtansin/AppData/Local/Packages/oice_15_974fa576_32c1d314_f21/AC/Temp/msohtmlclip1/01/clip_image031.jpg 图2.1 Developer Studio允许在使用文本或资源编辑窗口时采用全屏模式。这在某些时候是很有用的。 要使用全屏模式,从【View】(视图)菜单选择【Full Screen】(全屏)命令。 要取消全屏模式,可采用下列方法之一: l 按Esc键。 l 单击工具条上的【Full Screen】(全屏)按钮。 l 按Alt+V打开【View】(视图)菜单,选择【Full Screen】(全屏)命令。 2.1.2 可停靠窗口 可停靠窗口可以停靠在Developer Studio主窗体的四周,也可以转换为浮动窗口。可停靠窗口包括: 【Project Workspace】(工程项目)窗口 【Watch】(查看)窗口 【Variables】(变量)窗口 【Registers】(寄存器)窗口 【Memory】(内存)窗口 【Call Stack】(堆栈调用)窗口 【Disassembly】(反汇编)窗口 其中有些工具窗口只在调试程序时才能出现,与文档窗口类似,在可停靠窗口或浮动窗口中可以右击,快捷菜单中包含了与窗口当前状态相关的命令。 可停靠窗口也可被设置为非可停靠窗口(以类似文档窗口的形式显示)。也就是说,可停靠窗口能以停靠窗口、浮动窗口或文档窗口的形式出现。要设置可停靠窗口为非可停靠的,步骤如下: 1)从【Tools】(工具)菜单,选择【Options】(选项)命令,出现【Options】(选项)对话框。 2)选择【Workspace】(项目)标签,显示对话框的【Workspace】(项目)选项卡。 3)在【Docking Views】(可停靠的视图)下面的列表框中,核选所要设置的窗口。 4)单击【OK】(确定)按钮。 可以在任何时候显示或隐藏【Output】(输出)窗口和【Workspace】(工程项目)窗口,而【Debugging】(调试)窗口只能在调试程序时显示。 要显示一个可停靠窗口,从【View】(视图)菜单中选择所需显示的窗口名称,或按快捷键Alt+0~8的数字。 要隐藏一个可停靠窗口,可以采用下列任一方法: l 在所需隐藏的可停靠窗口中右击,弹出菜单,选择【Hide】(隐藏)命令。 l 转移焦点到所需隐藏的可停靠窗口,从【Windows】(窗口)菜单,选择【Hide】(隐藏)命令。 l 如果可停靠窗口以浮动窗口的形式显示,或被设置为非停靠的(以类似文档窗口的形式显示),单击该窗口右上角的关闭按钮。 可停靠窗口的位置与工程是不相关的,但在编辑或调试状态时,它们的位置可以不同。可停靠窗口有两种状态:停靠和浮动状态。要将停靠的窗口转换成浮动窗口,可使用下列任一方法: l 移动鼠标指向窗口边上的空白区域并双击。 l 移动鼠标指向窗口边上的空白区域,拖动窗口到合适的位置(不靠近主窗体的四周)。 l 在停靠窗口中的任意位置,右击,弹出菜单,选择【Dockable view】(可停靠视图)命令。 要将浮动窗口转换成停靠的窗口,可使用下列任一方法: l 移动鼠标指向窗口上边的标题栏并双击。 l 移动鼠标指向窗口边上的标题栏,拖动窗口靠近主窗体的周边。 l 在浮动窗口中的任意位置右击,弹出菜单,选择【Dockable view】(可停靠视图)命令。 要调整浮动窗口的大小,可以采用Windows的窗口操作方法。要调整停靠窗口的大小,可以用鼠标拖动其边界的分割条来实现。 2.2 Developer Studio的工具条 2.2.1 显示和隐藏工具条 工具条包含了一系列按钮,这些按钮分别对应Developer Studio菜单上的命令。工具条提供了执行常用命令的快速简便方法。因为工具条是可停靠的,因而它可以停靠在主窗体的四周,也可以成为浮动工具条。可以使用弹出菜单显示或隐藏工具条,步骤如下: file:///C:/Users/kingtansin/AppData/Local/Packages/oice_15_974fa576_32c1d314_f21/AC/Temp/msohtmlclip1/01/clip_image033.jpg 1)在停靠或浮动的工具条上,右击,出现弹出菜单(图2.2)。弹出菜单的中间部分列出了工具条名称及其显示状态。 2)核选所要显示的工具条,所选的工具条立即出现在缺省位置或上次的位置。 3)要隐藏工具条,清除工具条名称左边的核选标记,对应的工具条立即被隐藏。 注:可以利用图2.2快捷菜单来改变工程项目窗口和【Output】(输出)窗口的显示状态,也可以选择其上的【Customize...】(定制…)命令,显示【Customize】(定制工具条)对话框。
| | file:///C:/Users/kingtansin/AppData/Local/Packages/oice_15_974fa576_32c1d314_f21/AC/Temp/msohtmlclip1/01/clip_image034.png |
2.2.2 改变工具条的状态和浮动工具条的大小 要将一个已停靠工具条停靠到新的位置,移动鼠标指向工具条的空白区域,拖动工具条到需要停靠的位置。 要停靠一个浮动的工具条,移动鼠标指向工具条的标题栏,拖动工具条到需要停靠的位置(主窗体的周边)。 要快速改变工具条的状态(停靠或浮动),双击工具条边上的空白区域(或标题栏)。 要改变浮动工具条的大小,移动鼠标指向其边界,拖动边界到合适的位置。 2.3 Developer Studio的状态条 Developer Studio窗口底部的状态条显示了与它当前状态相关的信息。状态条左边显示了鼠标所在位置的菜单命令或工具按钮所执行的操作,Ln和Col后的数字显示源文本文件中光标所在的行列。REC、COL、OVR和READ分别表示文本编辑器是否处于录制键击状态、列块模式、改写状态或以只读方式打开文件。 在状态条上要显示系统时钟,从【Tools】(工具)菜单选择【Options】(选项)命令,选择【Workspace】(项目)标签,核选【Display clock on statusbar】(在状态条显示时钟)。 要隐藏状态条,从【Tools】(工具)菜单选择【Options】(选项)命令,选择【Workspace】(项目)标签,清除【Display status bar】(显示状态条)核选框上的核选标记。 2.4 联机帮助 在编写CVF应用程序时,可以使用Developer Studio中的帮助系统。它浏览联机帮助信息,或对文本窗口的关键词使用上下文敏感帮助。 file:///C:/Users/kingtansin/AppData/Local/Packages/oice_15_974fa576_32c1d314_f21/AC/Temp/msohtmlclip1/01/clip_image035.png根据需要,需要定制帮助系统。从【Tools】(工具)菜单,选择【Options】。选择【Help】(帮助)标签。然后按需要进行设置。(图2.3)file:///C:/Users/kingtansin/AppData/Local/Packages/oice_15_974fa576_32c1d314_f21/AC/Temp/msohtmlclip1/01/clip_image037.jpg 2.4.1 使用联机帮助 要浏览CVF的联机帮助,从【Help】(帮助)菜单,选择【Contents】命令,或选择【Search】(搜索信息)命令,或选择【Index】(索引信息)命令。联机帮助窗口如图2.4所示,它左边显示了联机帮助内容的树形结构表,而右边的窗口显示了所选主题的正文内容。 树形结构表的使用方法和Windows的资源管理器中相同。 要打开一本书,单击书名前的加号“+”或双击书名,或用上、下方向键选择书名,按右方向键将其打开。书被打开后,它前面的加号“+”变成减号“-”。 要关闭一本书,单击书名前的减号“-”或双击书名,或用上、下方向键选择书名,按左方向键将其关闭。书被关闭后,它前面的减号“-”变成加号“+”。 要查看一个主题的内容,双击该主题名称或它前面的图标。该主题的内容显示在主题窗口中。在窗口的左上方,有一些工具按钮,单击这些按钮,可以移动到相关的主题。 file:///C:/Users/kingtansin/AppData/Local/Packages/oice_15_974fa576_32c1d314_f21/AC/Temp/msohtmlclip1/01/clip_image039.jpg 图2.4 在文本编辑窗口,还可以使用F1键获得一个关键词或函数的上下文敏感帮助,例如在程序中要使用函数SUM,但不清楚该函数的变元类型和返回结果的类型。可以在输入SUM后把光标移到SUM所在位置,按F1键,CVF的帮助系统主题窗口显示关于SUM的帮助信息,它说明SUM是FORTRAN 95的一个内在函数,其功能是对数组求和。 file:///C:/Users/kingtansin/AppData/Local/Packages/oice_15_974fa576_32c1d314_f21/AC/Temp/msohtmlclip1/01/clip_image041.jpg 另外也可以对【Output】(输出)窗口的编译错误信息使用F1键获得上下文敏感帮助。 在Developer Studio的窗口中,可以单击【Help】(帮助)按钮获得有关对话框的帮助信息。 2.4.2 检索帮助信息 可以在CVF的帮助系统中按关键词检索联机帮助的主题。要检索一个主题: 1) 从【Help】(帮助)菜单,选择【Search】(查找)命令,出现【Search】(查找)窗口(图2.5)。 file:///C:/Users/kingtansin/AppData/Local/Packages/oice_15_974fa576_32c1d314_f21/AC/Temp/msohtmlclip1/01/clip_image043.jpg file:///C:/Users/kingtansin/AppData/Local/Packages/oice_15_974fa576_32c1d314_f21/AC/Temp/msohtmlclip1/01/clip_image044.png 2)在编辑框中输入检索关键词。 3)单击【列出主题】按钮,这时下面的列表框中显示所有相关主题。 4)在下面的列表框中选择所需的主题,单击【显示】按钮,或直接双击所需的主题。 要按关键字查询联机帮助文本,步骤如下: 1) 从【Help】(帮助)菜单,选择【Index】(索引)命令,在帮助窗口出现【Index】窗口(图2.6)。 2)在编辑框中输入所需查询的词或短语。 3)直接双击在下面的列表框中所需的主题。file:///C:/Users/kingtansin/AppData/Local/Packages/oice_15_974fa576_32c1d314_f21/AC/Temp/msohtmlclip1/01/clip_image046.jpg file:///C:/Users/kingtansin/AppData/Local/Packages/oice_15_974fa576_32c1d314_f21/AC/Temp/msohtmlclip1/01/clip_image047.png 第三节 Developer Studio的文本编辑器 3.1 文件管理 Developer Studio的【File】文件菜单包括了标准的文件管理功能。利用菜单命令可以处理CVF使用的各类文件。 3.1.1 创建文本文件 创建文本文件步骤如下: 1)从【File】(文件)菜单,选择【New】(新建),出现【New】(新建)对话框。 2)在对话框的列表框中,选择【Text File】(文本文件),在【File】下面的编辑框中输入文件名。 3)单击【OK】(确定)按钮,出现空白的【Text】(文本文件)窗口。 另外可以使用工具条上的【New Text File】(新建文本文件)按钮显示空白的【Text】(文本文件)窗口。这时就可以在【Text】(文本文件)中输入源程序代码了。注意在保存文件之前,磁盘上并未真正生成文件。稍后介绍如何保存文件。 Developer Studio给新文件分配的缺省文件名为Textn,其中n是新建文本文件的顺序号。主窗体的标题栏显示了源文件名称。如果源文件改变后没有保存,则标题栏显示有星号“*”。 3.1.2 打开一个文件 打开一个文件,步骤如下: 1)从【File】(文件)菜单,选择【Open】(打开),或直接单击工具条上的【Open】(打开)按钮,出现【Open】(打开)对话框。 2)选择要打开文件存放的文件夹,缺省目录为当前目录。 3)在文件类型组合框中,选择要打开的文件类型(*.for,*.f90,*.f,*.rc)。 4)在文件名列表框中选择文件名,单击【OK】(确定)按钮,或直接双击文件名。 file:///C:/Users/kingtansin/AppData/Local/Packages/oice_15_974fa576_32c1d314_f21/AC/Temp/msohtmlclip1/01/clip_image048.png 3.1.3 保存文件 保存一个文件,步骤如下: 1)激活【Source】(源文件)窗口。 2)从【File】(文件)菜单,选择【Save】(保存)命令,或直接单击工具条上的【Save】(保存)按钮。如果文件还没有命名,出现【Save As】(另存为)对话框。 3)在文件名编辑框中,输入文件名。 4)选择要存放源文件的文件夹。 5)单击【OK】(确定)按钮。 这时文件被保存。如果文件已经命名,则不显示【Save As】(另存为)对话框,直接保存文件。 以其它名称保存文件,步骤如下: 1)激活【Source】(源文件)窗口。 2)从【File】(文件)菜单,选择【Save As】,出现【Save As】(另存为)对话框。 3)在文件名编辑框中,输入文件名。 4)选择要存放源文件的文件夹。 5)单击【OK】(确定)按钮。 3.2 编辑文本 要定义一个文本块,可以使用与其它编辑器类似的方法,通过按住Shift+方向键、Shift+Home、End、Page up、Pagedown或Ctrl+Shift+方向键来选择文本块,也可以按住鼠标左键进行选择。 Developer Studio的文本编辑器提供的拖放编辑功能与Word中的相同。可以利用它的拖放编辑功能来移动或复制所选择的文本块。 要移动文本,步骤如下: 1)选择所要移动的文本。 2)用鼠标指向所定义的文本块,按住鼠标左键,拖动插入点(虚线)到所要移动的位置。 利用拖放编辑复制文本,步骤如下:
1)选择所要移动的文本。 2)用鼠标指向所定义的文本块,按住鼠标左键,这时再按住Ctrl键,拖动插入点(虚线)到所要移动的位置。 要取消上次操作,在【Edit】(编辑)菜单选择【Undo】(撤消),或按快捷键Ctrl+Z。 要重做上次取消的操作,在【Edit】(编辑)菜单选择【Redo】(重做),或按快捷键Ctrl+Y。 3.3 查找和替换文本 3.3.1 在一个文件中查找文本 要查找一个文本串,操作如下: 1)移动光标到所要查找范围的起始位置。 2)选择【Edit】(编辑)菜单的【Find】(查找),或直接按Ctrl+F,出现【Find】(查找)对话框(图3.1)。 3) file:///C:/Users/kingtansin/AppData/Local/Packages/oice_15_974fa576_32c1d314_f21/AC/Temp/msohtmlclip1/01/clip_image050.jpg【Find what】(查找内容)框中输入所要查找的文本内容或正则表达式。如使用正则表达式,需确认【Regular expression】(正则表达式)核选框已核选。单击右边的菜单按钮显示正则表达式列表,可以在列表中直接选择。也可以在【Find what】(查找内容)框中选择以前所查找过的内容。 4)如有必要,核选查找选项: l file:///C:/Users/kingtansin/AppData/Local/Packages/oice_15_974fa576_32c1d314_f21/AC/Temp/msohtmlclip1/01/clip_image051.pngMatch whole word only:匹配整个词 l Match case:匹配大小写 l Regular expression:使用正则表达式 l Search all open documents :查找所有打开的文档 再确认查找方向(向前/向后)。 5)开始查找,单击【Find Next】(查找下一处)或【Mark All】(标记所有查找到的内容),开始查找后,查找对话框消失。要重复查找操作,可使用快捷键:Ctrl+F。 3.3.2 替换文本 要替换文本,步骤如下: 1)将光标定位在需要开始搜索的位置上。光标所在位置的字符串将作为缺省的查找字符串。 2)从【Edit】(编辑)菜单,选择【Replace】(替换),出现【Replace】(替换)对话框(图3.2)。 file:///C:/Users/kingtansin/AppData/Local/Packages/oice_15_974fa576_32c1d314_f21/AC/Temp/msohtmlclip1/01/clip_image052.pngfile:///C:/Users/kingtansin/AppData/Local/Packages/oice_15_974fa576_32c1d314_f21/AC/Temp/msohtmlclip1/01/clip_image054.jpg3)在【Find what】(查找内容)框中输入所要查找的文本内容或正则表达式。如使用正则表达式,需确认【Regular expression】(正则表达式)核选框已核选。单击右边的菜单按钮显示正则表达式列表,可以在列表中直接选择。也可以在【Find what】(查找内容)框中选择以前所查找过的内容。 4)在【Replace with】(替换为)框中输入所要替换成的文本内容或正则表达式。单击右边的菜单按钮显示替换选项列表,可以在列表中直接选择。也可以在【Find what】(查找内容)框中选择以前所查找过的内容。 5)如有必要,选择替换选项: l Match whole word only:匹配整个词 l Match case:匹配大小写 l Regular expression:使用正则表达式 l Replace in Selection:替换选中部分 l Replace in Whole file:在整个文件中替换 6)单击【Find Next】按钮开始查找,找到第一个匹配词。 7)要替换查找到的当前内容,单击【Replace】(替换)按钮。如果要替换所有能查找到的内容,单击【Replace All】(全部替换)按钮。如果不替换,查找下一个词,单击【Find Next】(查找下一处)按钮。 注:使用正则表达式,允许在查找的内容中含有通配符或指定字符的范围,也可以查找满足某些特定条件的字符串。具体内容这里不作详细介绍。 第四节 程序的调试 当一个应用程序能够运行却不能输出预期的结果或运行中出现错误时,我们希望知道程序的执行情况。Developer Studio提供了集成调试工具Debugger,使用它可以控制一个程序的执行,或在程序执行的任何一点测试程序、变量和寄存器状态。 使用Developer Studio的菜单命令或工具条按钮,可以启动集成调试工具。这些调试工具包括一系列的【Debug】(调试)窗口和对话框。下面介绍这些调试工具的使用方法。 4.1 开始调试 4.1.1 调试前的准备工作 在调试程序之前,首先需要排除编译和链接错误。编译和链接的错误信息显示在【Output】(输出)窗口中,编译错误信息中包含了错误代号、出错语句所在的文件和行号以及错误的简短描述;链接错误信息中给出了错误代号和有关描述,因为链接错误并不与源代码的某一特定行相关,因而链接错误信息中没有行号。在【Output】(输出)窗口,可以复制或打印错误信息。 当【Output】(输出)窗口的编译错误突出显示时,其相应的源程序行也突出显示。为了查找编译错误,最好同时使用【Output】(输出)窗口和【Source】(源文件)窗口。如果不能完全理解错误信息,可以移动光标到这条信息上,按F1键获得有关帮助。在排除编译错误时,应当从前往后进行,因为编译工具给出的很多错误可能是由前面某一个错误引起的。 如果要调试应用程序,选择生成的结果文件必须是调试(Debug)版的,否则调试工具无法得到调试信息。 一旦进入调试状态,【Build】(生成)菜单变成【Debug】(调试)菜单,菜单上提供了完备的调试功能。 file:///C:/Users/kingtansin/AppData/Local/Packages/oice_15_974fa576_32c1d314_f21/AC/Temp/msohtmlclip1/01/clip_image056.jpg
4.1.2 开始调试应用程序 要开始调试,从【Build】(生成)菜单选择【Debug】(调试),再从子菜单中选择【Go】、【Step Into】或【Runto Cursor】。如果选择【Go】,则需要在程序中事先设置好断点。当然,也可以直接单击工具条上相应的按钮来开始调试。 下面是这些菜单命令所实现的功能: Go:从当前位置开始执行,直到遇到断点时停止;如果没有遇到断点,则执行到程序的末尾。 Step Into:单步执行,遇到要调用过程时,则进入过程的内部。 Run to Cursor:执行到光标所在的程序行。 如图4.1所示,开始调试后,【Build】(生成)菜单变成【Debug】(调试)菜单,【Debug】(调试)菜单上包含控制程序的执行和查看、修改变量的命令。图4.1中显示了与之对应的浮动调试工具条,将鼠标移动到各按钮上并停留片刻,可以查看与它们对应的菜单命令。 表4.1 【Debug】(调试)菜单命令所实现的功能和相应的快捷键 ------------------------------------------------------------------------------------------ 菜单命令 快捷键 所实现的功能 ------------------------------------------------------------------------------------------ Go F5 从当前位置开始执行,直到遇到断点程序的末尾 Restart Shift+F5 从程序的第一行重新开始执行 Stop Debugging Alt+F5 终止调试 Break 使程序在当前位置停止 Step Into F11 单步执行,遇到要调用过程时,则进入过程的内部 Step Over F10 单步执行,在遇到要调用过程时,执行该过程但 不进入过程内部单步执行 Step Out Shift+F11 从一个过程内部退出,返回到调用过程的下一语句 Run to Cursor Ctrl+F10 一直执行到光标所在的程序行 ------------------------------------------------------------------------------------------ 表4.1列出了【Debug】(调试)菜单上控制程序执行的命令所实现的功能和相应的快捷键。使用这些菜单命令,可以自如的控制程序的执行。有关查看和修改变量值的方法,在稍后介绍。 处于调试状态时,要查看某个变量的值,可以把光标移到该变量所在位置并停留片刻。 4.2 设置断点 通过设置断点可以指定程序停止执行的条件。设置断点后,从【Build】(生成)菜单选择【Debug】(调试),在菜单中选择调试命令,则调试工具控制程序的运行。无论是退出程序或是使用菜单命令停止调试,断点都将被继续保留。在关闭工程时,这些设置的断点被保存下来。 4.2.1 断点(Breakpoints) 使用断点,可以有效的控制程序的运行。要设置断点,把光标移到要设置断点的程序行,单击工具条上的【Insert/Remove Breakpoint】(插入/删除断点)按钮(图4.2最后的按钮)。 file:///C:/Users/kingtansin/AppData/Local/Packages/oice_15_974fa576_32c1d314_f21/AC/Temp/msohtmlclip1/01/clip_image057.png file:///C:/Users/kingtansin/AppData/Local/Packages/oice_15_974fa576_32c1d314_f21/AC/Temp/msohtmlclip1/01/clip_image058.png 注意,只能在可执行语句、函数和子程序的开始语句和结束语句设置有效的断点。设置断点后,程序行左边的页边出现红色标记。如果在无效的位置设置了断点,开始调试时,Developer Studio会出现提示信息“Invalid breakpoint”(无效的断点),并把断点设置到下一有效的程序行。 在DeveloperStudio中,可以设置下列几种断点: l Locationbreakpoints(位置断点):程序执行到指定位置暂停。 l Databreakpoints(数据断点):程序执行时,若某表达式的值为真或改变,则暂停执行。 l Conditionalbreakpoints(条件断点):程序执行到某一指定位置时,若某表达式的值为真或改变,则暂停执行。 l Messagebreakpoints(消息断点):在获得一个Windows消息时,程序执行到一个窗口过程(WndPorc)函数处。 4.2.2 设置或取消位置断点的快捷方法 位置断点是最常用的一种断点。要设置位置断点,移动光标到要设置断点的程序行按F9键。关于如何设置其它类型的位置断点,将在后面讲述堆栈、【Disassembly】(反汇编)窗口时介绍。要取消一个位置断点,在源代码、堆栈或反汇编窗口移动光标到断点处,按F9键。 4.2.3 使用Breakpoints(断点)对话框 从【Edit】(编辑)菜单选择【Breakpoints】(断点),出现【Breakpoints】(断点)对话框(图4.3)。在该对话框中,可以设置或取消断点。 file:///C:/Users/kingtansin/AppData/Local/Packages/oice_15_974fa576_32c1d314_f21/AC/Temp/msohtmlclip1/01/clip_image060.jpg file:///C:/Users/kingtansin/AppData/Local/Packages/oice_15_974fa576_32c1d314_f21/AC/Temp/msohtmlclip1/01/clip_image061.png断点对话框包含三个选项卡:【Location】(位置)、【Data】(数据)和【Message】(消息)。在【Location】(位置)选项卡,可以结合【Breakpoint Condition】(断点条件)对话框,设置条件断点。 【Location】(位置)选项卡 【Location】(位置)选项卡下面的【Breakpoints】(断点)列表框中列出了所有类型的断点。可以在该选项卡中,设置、禁用、修改和删除断点,或启用被禁用的断点。 要禁用一个断点,在【Location】(位置)选项卡下面的列表框中选择所要禁用的断点,清除它左边的核选标记。要启用一个断点,在列表框中核选所要启用的断点。 对一个位置断点,可以查看断点在源代码或目标代码中所处的位置。要查看断点在源代码或反汇编代码中所处位置,选择带行号或内存地址的断点,单击【Edit Code】(编辑代码)按钮。 要删除断点,在下面的列表框中选择所要删除的断点(可以是多个),按Delete键或单击【Remove】(删除)按钮。要修改一个位置断点,先选择要修改的断点,在【Break At】(中断于)编辑框输入新的位置。 要在当前位置设置断点,单击【Break At】(中断于)编辑框右边的小按钮,选择行号或内存地址。要在其它位置设置断点,在【Break At】(中断于)编辑框中输入内存地址(对执行文件);对源代码则先输入一个句点,再输入要设置断点的程序行的行号。 要在某过程的开始处设置断点,在【Break At】(中断于)编辑框中先输入main-ip-,再输入过程名。例如要在过程Analysis的开始处设置断点,则需输入main-ip- Analysis。 在其它源文件或执行文件中设置断点,单击【Break At】(中断于)编辑框右边的小按钮,出现【AdvancedBreakpoints】(高级断点)对话框,在其中的【Break At】(中断于)编辑框输入断点位置,再在【Context】(上下文)框输入函数、源文件或执行文件名。注意,不一定要全部输入这些内容,例如要在其它源代码的某一行设置断点,则只需输入断点位置和源文件名即可;而如果调试一个dll,则需要输入过程名、源文件名,并在【Executable file】(可执行文件)编辑框输入dll名。 【Data】(数据)选项卡 在【Data】数据选项卡,可以为当前文件或其它文件设置数据断点。例如在【Enter theexpression to be evulated】(输入要计算的表达式)编辑框中输入变量名或表达式,则表示它的值发生改变时产生中断;如果输入的是逻辑表达式,则表示该逻辑表达式为真时中断。 【Message】(消息)选项卡 在【Message】(消息)选项卡,可以设置消息断点。它使得在调试时若接收到Windows函数的消息,则产生一个断点。要设置消息断点,在【Break At WndProc】(中断于Windows进程)编辑框输入Windows函数名;然后在【Message】(消息)组合框选择触发断点的消息。 条件断点 条件断点是指满足某特定条件的位置断点,这种条件可以是变量或表达式的值发生改变,也可以是一个逻辑表达式值为真。 要设置条件断点,步骤如下: 1)在【Breakpoints】(断点)对话框选择【Location】(位置)选项卡。 2)先设置或选择一个位置断点。 3)单击【Condition】(条件)按钮,出现【Condition】(条件)对话框。 4)输入表达式,若需要还可输入查看的数组或结构的元素的个数以及中断前满足条件的次数。 5)依次单击对话框的【OK】(确定)按钮。 4.3 察看和修改变量的值 在调试状态下,可以查看一个变量的值,也可以修改变量的值来测试程序的执行情况。下面介绍如何使用【Watch】(查看)、【QuickWatch】(快速查看)和【Variables】(变量)窗口来查看和修改变量的值。 4.3.1 使用【Watch】(查看)窗口 在调试程序时,【Watch】(查看)窗口一般会显示出来。如果它没有显示,从【View】(视图)菜单选择【Debug Windows】(调试窗口)中的【Watch】(查看),使它显示。图4.4中停靠在右下方的窗口就是【Watch】(查看)窗口。窗口中显示了要查看变量的名称和值,根据需要也可以输入表达式,以查看程序执行时该表达式的值。窗口包括四个选项卡:Watch1、Watch2、Watch3和Watch4,便于将所要查看的变量或表达式分组。 file:///C:/Users/kingtansin/AppData/Local/Packages/oice_15_974fa576_32c1d314_f21/AC/Temp/msohtmlclip1/01/clip_image063.jpg file:///C:/Users/kingtansin/AppData/Local/Packages/oice_15_974fa576_32c1d314_f21/AC/Temp/msohtmlclip1/01/clip_image064.png 要在【Watch】(查看)窗口加入一个变量或表达式,从【View】(视图)菜单选择【Watch】(查看),打开【Watch】(查看)窗口,选择所需的标签,输入、粘贴或拖动一个变量名或表达式到【Name】(名称)栏,按回车键,右边的Value(数值)栏中显示该变量或表达式的值;如果表达式有错误,则显示错误信息。 在【Name】(名称)栏中可以输入数组、FORTRAN 90的派生数据类型或是指针变量的名称,也可以输入FORTRAN 90的内在查询函数ASSOCIATED、ALLOCATED或LOC。 【Watch】(查看)窗口并不显示变量类型信息。想要知道变量的类型,在【Watch】(查看)窗口选择要查看变量所在的行并右击,弹出菜单,选择【Properties】(属性),或从【Edit】(编辑)菜单选择【Properties】(属性)。 要从【Watch】(查看)窗口移出一个变量或表达式,选择要移出的变量或表达式,按Delete键。 调试时,可以使用【Watch】(查看)窗口修改变量的值,以使程序按新值执行。要修改变量值,在【Watch】(查看)窗口,双击所要修改的值,输入新值并按回车确认。 4.3.2 使用【Variables】(变量)窗口 图4.4中停靠在左下角的就是【Variables】(变量)窗口。在调试时,如果没有显示【Variables】(变量)窗口,可以从【View】(视图)菜单选择【Debug Windows】(调试窗口)中的【Variables】(变量)或单击调试工具条上的相应按钮,使它显示。双击它的标题栏或边框,可以切换窗口的停靠或浮动状态。 在【Variables】(变量)窗口上面的组合框中显示了当前过程名,单击下面的【Locas】,列出该过程所有局部变量(包括公用块中的变量)的值。在【Variables】(变量)窗口可以修改局部变量的值,或通过拖放复制变量到其它窗口(如【Watch】(查看)窗口),但不能在该窗口加入其它变量或表达式。 要在【Variables】(变量)窗口修改变量值,先选择要修改的变量值,然后按Delete键或Backspace键,再输入新值并按回车键确认。
|