(8)选择菜单选项Build/Compile gravitation.cpp (其中gravitation为文件名)编译源程序。稍候片刻,会在Output窗口(通常在屏幕下方)中显示编译结果,如出错信息等(编译错误的处理在下一节介绍)。如果程序正确,编译结果会生成一个目标文件(后缀为.OBJ)。
(9)目标文件还需通过连接才能生成可执行文件。选择菜单选项Build/Build gravitation.exe连接目标文件。结果显示在Output窗口中。连接的结果为可执行文件(后缀为. exe)。
以上两步也可以并为一步,即直接使用菜单选项Build/Build gravitation.exe。
图6 代码的编辑界面
生成的可执行文件可以单独运行,也可以在开发环境中直接运行,后一种方法在程序需要反复调试时更加方便。在集成开发环境中直接运行程序的方法是选用菜单选项Build/Excute.exe。程序运行结果如图7
图7 程序运行结果
2.Visual C++帮助功能
MSDN (Microsoft Developer Network) 是使用 Microsoft 开发工具或是以 Windows 和 Internet 为开发平台的开发人员的基本参考资料。通过MSDN所提供的Help资料,可以对Visuan C++和Windows的工作机制有更全面的了解,可以帮助解决开发者遇到的大多数问题。
由于MSDN库为包括Visual C++在内的所有的Visual studio 6.0开发环境工具提供在线帮助,所以它在系统中作为一个应用程序独立运行,并没有同任何单个开发环境结合在一起。要从Visual C++中访问 MSDN,一种方法是从Visual C++的Help菜单中选择 Contents、Search或Index命令,另一种方法是在Visual C++开发环境中直接按下 F1键,系统都会自动运行 MSDN帮助程序。
MSDN界面分为三个窗格,顶端的窗格包含有工具栏。左侧的窗格包含有各种信息定位方法,通过单击列表中的主题,即可浏览或查找所需的各种信息;右侧的窗格则显示所选择的主题的具体内容,这些内容是以超文本形式存在的,其中的相关内容可以通过超文本链接连接到其他的相关主题。
图8 MSDN界面
左边窗口中有四个选项卡:目录、索引、搜索和书签,用于提供四种不同的在线帮助浏览方式。
(1)目录。单击目录选项卡可浏览主题的标题。该目录是依照标题和副标题的排列方式形成一个包含了 MSDN中所有可用信息的可扩充目录表。双击列表中的标题,就可在MSDN窗口的右栏中打开该文章。
(2)索引。单击索引选项卡可查看索引项的列表,然后可通过该栏左边的滚动条翻阅整个索引列表。也可通过在对话框顶部的编辑框中键人关键字来完成查找功能。找到所要的索引条目后双击,如果该条目仅对应一篇文章,MSDN就会立刻在其窗口右栏显示其内容;否则会出现已找到的主题对话框,其中列出了该条目可能指向的所有文章,这时可通过双击列表中所需要主题,打开相应的一篇文章。
(3)搜索。单击搜索选项卡可查找到包含在某个主题中的所有词组或短语。它是一个全文本搜索引擎,允许寻找包含指定词或短语的主题。和MSDN的索引选项比起来,全文本搜索所能覆盖范围更宽,它可以提供更多的文章以供选择。
(4)书签。单击书签选项卡可创建或访问书签的列表。用户只需简单地标记书签中的某些主题,即可重新访问它们。
3.Developer Studio文本编辑器
Developer Studio提供了一个优秀的程序文本编辑器,它使应用程序的编辑修改和调试工作混为一体,非常方便。该文本编辑器不仅可编辑程序文本,还可编辑一般的文本文件和HTML Page。
启动文本编辑器非常简单,只要建立一个新文本文件,或打开一个已存在的文本文件,文本编辑器就会自动出现。
在文本编辑器中,用一闪烁的短竖线表示编辑位置,通过键盘输入的文字在此位置插入
文本。用鼠标左键点击文本中的某个字符可以改变编辑位置。
文本编辑器的基本操作包括:
? →:光标向后移动一个字符。 ? ←:光标向前移动一个字符。 ? ↑:光标向上移动一行。
? ↓:光标向下移动一行。 ? Home:光标移动到行首。 ? End:光标移动到行尾。
? Ctrl+Home: 光标移动到文件头。 ? Ctrl+End: 光标移动到文件尾。 ? PgUp:光标向上滚动一屏。 ? PgDn: 光标向下滚动一屏。 ? Ctrl+Y:删除行。
? Del:删除光标右边字符。 ? Backspace:删除光标左边字符。 ? Ins:插入/改写方式切换。
Developer Studio的Edit子菜单还提供了一批高级编辑功能,大致可分为以下几类: (1)Undo和Redo,用于反悔对文本文件所做的修改 (2)剪贴Cut、复制Copy、粘贴Paste和删除Delete (3)查找Find和替换Replace (4)书签
(5)高级选项 (6)断点设置
(7)编程指导信息
4.Developer Studio文件处理功能
Developer Studio提供了很完整的文件处理功能,可处理程序文本文件、项目文件、WORD文档和EXCEL文档等。
Developer Studio的File子菜单共有14项,分为6组,组与组之间用横线隔开。
第1组用于建立、打开和关闭文件处理的对象,包括项目、文件、工作区和其他文档: (1)建立新对象(New…,快捷键为CTRL+N)。选择该菜单项,可打开一个有若干卡片的对话框,各卡片的内容分别为: 项目(Projects):用于建立项目。项目即要开发的应用程序,Developer Studio可用于开发各种类型的应用程序,如控制台应用程序(Win32 Console Application)、32位Windows应用程序(Win32 Application)和MFC应用向导程序(MFC AppWizard)等。对于不同类型的项目,建立的具体文件也不同。
文件(Files):用于建立各种文件,包括源程序文件(Source File,文件名后缀为cpp)、头文件(Header File,文件名后缀为h)、文本文件(Text File,文件名后缀为txt)、位图文件(Bitmap File,文件名后缀为bmp)等。
工作区(Workspaces):每个正在开发的项目要占用一个工作区。一般来说,在建立项目的同时即为其建立了工作区。但也可用本选项建立一个空的工作区。 其他文档(Other Documents): 用于建立一些文档文件,如MS Excel工作表,MS Excel图表,MS PowerPoint演示文稿和MS Word排版文档等。
(2)打开已有对象(Open…,快捷键为CTRL+O)。用于打开一个已存在的项目、文件或文档。选择该菜单项,会弹出一个文件路径对话框,用于确定要打开的内容。 (3)关闭文件(Close)。用于关闭当前打开并激活的文件。
第2组用于处理工作区。包括:
(1)打开工作区(Open Workspace…)。用于一个已存在的工作区。工作区的有关参数(包括应用程序的结构体系,特别是其类、资源、文件和帮助信息等的参数)存放在后缀名为dsw和mdp的文件中。
(2)保存工作区(Save Workspace)。用于保存当前打开的工作区文件。
(3)关闭工作区(Close Workspace)。用于关闭当前打开的工作区文件。
第3组用于处理当前文件,包括:
(1)保存文件(Save,快捷键为CTRL+S)。用于保存当前正在使用的文件。 (2)另存文件(Save As…)。将当前文件换一个名字保存,原来的文件内容不变。 (3)保存所有文件(Save All)。保存当前打开的所有文件。
第4组用于打印当前文件,包括: (1)页面设置(Page Setup…)。设置打印页面格式,为打印当前文件作准备。 (2)打印当前文件(Print…,快捷键为CTRL+P)。用于打印当前文件。
第5组用于快速打开或切换文件和工作区。包括:
(1)最近使用过的文件( Recent Files)。用于直接打开最近几次在Developer Studio 中使用过的文件,可在弹出的下级菜单中直接选取。
(2)最近使用过的工作区(Recent Workspaces)。用于直接打开最近几次在Developer Studio中打开过的工作区,可在弹出的下级菜单中直接选取。
最后1组只有一个菜单项:
(1)退出Developer Studio(Exit)。选择该菜单项可以关闭当前打开的所有对象,包括项目、工作区和文件等,退出Developer Studio,返回Windows操作系统界面。
5.Visual C++程序的编译、连接和运行
用于编译、连接和运行应用程序的功能集中在创建(Build)子菜单中,但其中多数功能也可通过快捷键和工具条调用。
Developer Studio的Build子菜单共有11项,分为4组,组与组之间用横线隔开。 第1组包括编译、连接等功能:
编译当前项目(Compile,快捷键为Ctrl+F7)。用于将源程序编译为目标代码。编译结果及编译错误信息在输出窗口(Output)显示。
编译、连接当前项目(Build,快捷键为F7)。在对当前项目的源程序编译之后,还进行连接(Link)操作,即将目标代码与系统或用户类库连接并生成可执行的程序(或动态连接库.DLL等)。 重新编译、连接当前项目(Rebuild All)。功能与
以批处理方式编译、连接当前项目(Batch Build)。功能与
清除临时文件( Clean)。用于清除上一次编译、连接时产生的临时文件和输出文件,
以整理程序目录。
第2组用于调试程序,包括开始调试(Start Debug)和远程调试链接(Debugger Remote Connect)。
第3组用于执行当前项目的可执行程序(Execute,快捷键为Ctrl+F5)。 第4组用于设置编译和连接工作的参数。包括: 设置项目的版本类型(Set Active Configuration…)。Developer Studio生成的可执行文件有两种版本,一种是调试版本(Win32 Debug),内含调试代码,体积稍大,主要在编程调试过程中使用。另一种是发放版本(Win32 Release),其中不包含调试代码,体积小,用于在程序调试结束后提交用户。
管理项目版本(Configuration…)。用于管理项目的调试版本和发放版本。 Profile。设置、Profile程序和显示Profile数据。
6.查看和修改编译、连接错误
刚编写好的程序含有错误是正常的,即使是熟练的专业程序员也很难一次就编写出完全没有错误的源程序来。实际上,重要的不是程序中是否有错误,而是怎样将这些错误找出来并改正之。一般来说,一段源程序从输入编辑到通过编译,往往要重复若干次编译-修改-再编译的过程。
如果在编译的过程中发现了错误,则进入编辑查错状态。这时在屏幕下方的Output窗口中会显示出错误的类型、错误发生的位置以及错误的原因。错误信息的格式为:
<源程序路径>(行)<错误代码>: <错误内容> 错误有两种,一种是Error,表示这是一个严重错误,非改不可。另一种是Warning,表示源程序这里有可能是错误的,也有可能不是错误,编译程序自己也拿不准。一般来说,如果只出现警告信息,还是可以继续连接、运行程序,建议在出现编译警告时最好还是仔细检查一下,设法消除引起警告的原因。
错误发生的位置包括源程序的路径和文件名以及错误所在行。必需说明的是C++编译程序的“智力”并不十分高,虽然能够查出错误,但对错误的说明可能并不十分准确,而且一个实际错误往往会引出若干条错误说明,使人不容易摸清到底错在什么地方。错误的原因其实可能很简单,例如少写了一个括号、分号或拼错了一个单词,都可能引起一连串的错误提示。真正的错误之处也可能在此之前的某个语句。而且指出的错误条数可能偏多,常常是由于一处出错而引发了一系列错误提示信息。
用鼠标双击一条错误信息可使文本编辑器作出反应,其左框上显示一个箭头指出对应的出错语句,以便修改源程序。
在连接阶段也可能出现一些错误提示。与编译错误提示信息不同的是连接错误不指出错误发生的详细位置,这是因为连接的对象是目标程序,和源程序格式有很大差别,不易确定错误的准确位置。连接阶段出现的错误一般比较少,大多数是因为在程序中调用了某个函数,而连接程序却找不到该函数的定义。这时最有可能的是函数名字拼写错误。另外,如果程序的规模较大,需要分为若干个源程序文件分别编译然后连接,则也可能出现全局变量重复定义或找不到等错误现象。
在找到连接错误的原因并改正以后,一定要重新编译后才能再次连接。否则,虽然源程序已经修改,但进行连接的目标程序还是以前有错误的目标程序,再次连接仍然会产生同样的错误。
7.运行错误的判断与调试
通常所说的运行错误有两种, 一种是逻辑错误, 即程序的实际运行结果和编程者对程序结果的期望不符; 另一种仍是程序设计上的错误, 但是躲过了编译程序和连接程序的检查, 通常表现为突然死机、自行热启动或者输出信息混乱。