‖第2章 Visual c+60基本应用程序的 12.3编译程序 编译是对单个文件进行的,源程序文件经编译后,将生成目标文件(obj文件),供链接用。编译 操作的方法为:执行“ Build”→“ Compile”菜单命令,也可使用快捷键【Ctrl+F7】。ⅤC工作台已把 当前文件名放在 Compile命令后,使得编译动作更直观明了。 执行上述命令,即对源程序进行了编译,编译成功与否的结果信息,显示在输出窗口中。 说明实际上,直接执行“Bud0链接命令,会首先对所有的源文件进行编译, Compile命令主要用于 文件较多、调用关系复杂的项目中,将源文件逐个编译,确保无误后,再进行链接,提高效率。 如果程序中没有任何语法错误,输出窗口中将显示“0eror(s),0 warning(s)”信息,表示编译成 功,即生成了目标文件,如图1.5所示。 ing..(no relevant changes detected) a+ Build(Debug Find in Files 14LI 图1.5编译成功输出窗口 若程序中有错误,输出窗口便显示出错误的个数,以及每个错误的代码和错误信息,如图1.6所示 双击错误代码所在的行,系统就会立即在编辑区显示与其对应的错误代码行,并进入编辑状态。这时 用户可根据给出的错误提示信息对源程序进行修改。修改完毕后,需要对源程序重新编译。 ay types, although there are conversi ecret.obj-2 error(s), a warning( EIDABuild (Debur Find in Files 14I 图1.6有错误产生时的编译输出窗口 对于Eror错误(属语法错误)用户必须对其更正才能编译通过:对于 Warning错误(属警告型错 误),虽然不影响编译的通过,为了程序的稳健性,一般情况下,也需要进行更正。 说明编译过程中,系统只能检查源文件中一般的语法错误,并不能深入程序内部的检查,因此编译 成功并不意味着程序最终能成功执行。 .24链接程序 编译生成目标程序后,需要把目标程序与系统中的库函数链接(Link),生成最终的可执行的exe 文件 链接操作的方法为:执行“ Build”→“ Build”菜单命令,也可使用快捷键【F7】。同样Ⅴ isual C++6.0工作台已把项目名放在“Buid”命令的后面。 Build”命令包含了编译和链接。即对源程序直接进行“ Build”操作,系统首先进行编译,编译 励志照亮人生编程改变命
19 励志照亮人生 编程改变命运 第 2 章 Visual C++6.0基本应用程序的创建 1.2.3 编译程序 编译是对单个文件进行的,源程序文件经编译后,将生成目标文件(obj文件),供链接用。编译 操作的方法为:执行“Build”→“Compile”菜单命令,也可使用快捷键【Ctrl+F7】。VC工作台已把 当前文件名放在Compile命令后,使得编译动作更直观明了。 执行上述命令,即对源程序进行了编译,编译成功与否的结果信息,显示在输出窗口中。 说明 实际上,直接执行“Build”链接命令,会首先对所有的源文件进行编译。Compile命令主要用于 文件较多、调用关系复杂的项目中,将源文件逐个编译,确保无误后,再进行链接,提高效率。 如果程序中没有任何语法错误,输出窗口中将显示“0 error(s), 0 warning(s)”信息,表示编译成 功,即生成了目标文件,如图1.5所示。 图1.5 编译成功输出窗口 若程序中有错误,输出窗口便显示出错误的个数,以及每个错误的代码和错误信息,如图1.6所示。 双击错误代码所在的行,系统就会立即在编辑区显示与其对应的错误代码行,并进入编辑状态。这时, 用户可根据给出的错误提示信息对源程序进行修改。修改完毕后,需要对源程序重新编译。 图1.6 有错误产生时的编译输出窗口 对于Error错误(属语法错误)用户必须对其更正才能编译通过;对于Warning错误(属警告型错 误),虽然不影响编译的通过,为了程序的稳健性,一般情况下,也需要进行更正。 说明 编译过程中,系统只能检查源文件中一般的语法错误,并不能深入程序内部的检查,因此编译 成功并不意味着程序最终能成功执行。 1.2.4 链接程序 编译生成目标程序后,需要把目标程序与系统中的库函数链接(Link),生成最终的可执行的.exe 文件。 链接操作的方法为:执行“Build”→“Build”菜单命令,也可使用快捷键【F7】。同样Visual C++6.0工作台已把项目名放在“Build”命令的后面。 “Build”命令包含了编译和链接。即对源程序直接进行“Build”操作,系统首先进行编译,编译
Visual c++ 成功后再进行链接,最后生成exe文件 对于文件较少的项目可以直接执行“ Build”命令,同样在输出窗口中显示提示信息,如图1.7所示 Configuration: ConsolePro- Win32 Debug-- ConsolePro. exp d/Debug. Find in Files 1 X 图1.7链接后编译输出窗口 当项目设置改变或项目中许多文件被修改,可以直接执行“ Build”→“ Rebuild aⅡ”菜单命令, 该命令将彻底重新编译链接整个项目。 2.5运行程序 程序编译并链接成功后,可以执行“ Build”→“ Execute”菜单命令或者按快捷键【Ctr+F5】来 运行程序。系统已自动将 Console Pro,exe放在“ Execute”菜单命令后。 由于创建的是控制台程序,所以运行时系统将打开一个DOS窗口,运行结果如图1.8所示 Tell you a secret! 图1.8程序运行结果 1.2.6调试程序 程序调试是程序开发中的重要环节,如果程序中出现逻辑错误,即使编译通过,也不能得到正确 的结果。只有通过调试( Debug)才能査出程序设计上的深层问题,也可以检査代码执行效率,优化 代码质量 Visual c++6.0提供了动态调试功能,该功能可以一步步跟踪程序的执行流程,并检查变量值的变 化情况。下面就简单介绍动态调试程序的方法 1.单步执行 单步执行就是一条一条语句地执行,每执行完一行语句,程序就暂停下来,以便调试者观察程序 的执行状况。 按下快捷键【F10】或者【F11】,系统就处于单步执行状态,开始单步执行。对于本程序而言, 就从main(函数开始执行。 每按一下【F10】或者【F11】键,程序就执行一步(一行)。处在单步执行状态时,有一个黄色 的箭头,指示将要执行的语句。单步执行时,在编辑窗口的下方会自动出现 Variables窗口和 Watch窗 如图19所示 励志照亮人生编程改变命运
成功后再进行链接,最后生成.exe文件。 对于文件较少的项目可以直接执行“Build”命令,同样在输出窗口中显示提示信息,如图1.7所示。 图1.7 链接后编译输出窗口 当项目设置改变或项目中许多文件被修改,可以直接执行“Build”→“Rebuild All”菜单命令, 该命令将彻底重新编译链接整个项目。 1.2.5 运行程序 程序编译并链接成功后,可以执行“Build”→“Execute”菜单命令或者按快捷键【Ctrl+F5】来 运行程序。系统已自动将ConsolePro.exe放在“Execute”菜单命令后。 由于创建的是控制台程序,所以运行时系统将打开一个DOS窗口,运行结果如图1.8所示。 图1.8 程序运行结果 1.2.6 调试程序 程序调试是程序开发中的重要环节,如果程序中出现逻辑错误,即使编译通过,也不能得到正确 的结果。只有通过调试(Debug)才能查出程序设计上的深层问题,也可以检查代码执行效率,优化 代码质量。 Visual C++6.0提供了动态调试功能,该功能可以一步步跟踪程序的执行流程,并检查变量值的变 化情况。下面就简单介绍动态调试程序的方法。 1. 单步执行 单步执行就是一条一条语句地执行,每执行完一行语句,程序就暂停下来,以便调试者观察程序 的执行状况。 按下快捷键【F10】或者【F11】,系统就处于单步执行状态,开始单步执行。对于本程序而言, 就从main()函数开始执行。 每按一下【F10】或者【F11】键,程序就执行一步(一行)。处在单步执行状态时,有一个黄色 的箭头,指示将要执行的语句。单步执行时,在编辑窗口的下方会自动出现Variables窗口和Watch窗 口,如图1.9所示。 20 励志照亮人生 编程改变命运 零基础学 Visual C++