- C++ 从入门到项目实践(超值版)
- 聚慕课教育研发中心
- 1125字
- 2021-03-24 01:16:05
1.3 C++应用程序开发基本过程
应用程序开发都是在编译环境中进行的,编译环境是程序运行的平台。一个程序在编译环境中,从编写代码到生成可执行文件最后到运行正确,需要经过编辑、编译、连接、调试和运行等几个阶段。
1.3.1 生成可执行文件的步骤

生成可执行文件基本上包括编辑阶段、编译阶段和连接阶段。
编辑阶段:在集成开发环境下创建程序,然后在编辑窗口中输入和编辑源程序,检查源程序无误后保存为.cpp文件。
编译阶段:源程序经过编译后,生成一个目标文件,这个文件的扩展名为.obj。该目标文件包含源程序的目标代码,即机器语言指令。
连接阶段:将若干个目标文件和若干个库文件(lib)进行相互衔接生成一个扩展名为.exe的文件,也就是可执行文件,该文件适应一定的操作系统环境。库文件是一组由机器指令构成的程序代码,是可连接的文件。库有标准库和用户生成的库两种。标准库由C++提供,用户生成的库是由软件开发商或程序员提供。
1.3.2 分析并修复错误

分析并修复错误就是运行和调试的过程。
运行阶段:运行经过连接生成的扩展名为.exe的可执行文件。
调试阶段:在编译阶段或连接阶段有可能出错,于是程序员就要重新编辑程序和编译程序。另外,程序运行的结果也有可能是错误的,也要重新进行编辑等操作。大致的开发过程如图1-18所示。

图1-18 开发过程
1.3.3 编写第一个C++应用程序

本节通过Visual Studio 2017创建一个非常简单的Project1程序,实现在命令行中输出“Hello C++”。以此来了解C++的编程过程以及Visual C++的具体操作流程。
在Visual Studio 2017中进入C++文件编辑窗口界面,输入以下代码:

1.3.4 生成并执行第一个C++应用程序

代码输入完成后,可使用快捷键Ctrl+F5直接运行程序,这个操作指令将编译、链接并执行应用程序。
注意:
(1)在菜单栏选择“调试”>“开始调试”命令,程序会一闪而过,并显示“程序已退出,返回值为0”。或者单击工具栏中的“本地Windows调试器”也可达到此效果。
(2)在菜单栏选择“调试”>“开始执行(不调试)”命令,或者在编译环境中使用快捷键Ctrl+F5直接开始执行,弹出如图1-19所示的“代码输出”界面。

图1-19 “代码输出”界面
1.3.5 理解编译错误

Visual Studio 2017作为微软成熟的一种程序编译环境,受到很多朋友的青睐。对于很多程序员来说,在Visual Studio 2017编程时会遇到各种各样的错误信息,更好地理解错误信息可以大大节省确定并改正错误内容所花费的时间。编译器的要求非常苛刻,但是优秀的编译器会相当明确地指出错误在什么地方。
要搞清楚编译器为什么会报告某一行上存在错误,首先必须明确编译器解析Visual C++代码的机制。本节并不打算对此进行详细论述,但是,本节将会讨论一些更易于引发错误的简单概念。
优秀的编译器会对错误进行详细的描述,它会指出包含错误的文件名称、在哪一行遗漏了分号以及没有使用大括号结束一个函数或者一个循环等错误,只要根据报错进行逐一正确修改,程序便能通过编译。