20.5 小结

    本章对程序的编译流程、调试技巧以及VC6编译器的使用进行了简要的介绍。C++程序的编译分编辑、预处理、编译和链接4个步骤。编译单元(Compile Unit)是编译的基本单位,每个cpp文件对应一个编译单元,此外cpp文件中包含的及嵌套包含的头文件都会被预处理器插入到cpp文件中,组成编译单元。编译器将每个单元编译成二进制代码文件,但此时分散的二进制代码文件中的变量和函数没有分配到具体的内存地址,因而不能执行,需要链接器将这些二进制代码文件、用到的库文件中的相关代码以及系统相关的信息组合起来,形成二进制可执行文件。

    预处理指令是由预处理器负责执行的,主要有头文件、宏定义和条件编译,推荐采用const,而不是#define来定义常量。重点介绍了VC6的调试环境,调试必须在Debug模式下进行,默认的Release模式不包含调试信息,通过快捷键F5可以方便地启动调试。

    断点是调试的基础,断点触发使得程序中断,才能进一步查看变量、内存或其他程序实体的值或状态,除了普通的和固定位置的行断点外,VC还支持条件断点、数据断点以及消息断点。当程序因断点触发而中断时,可通过VC6提供的视图,如Watch、Memory、Variables、Registers、Call Stack和Disassembly等查看与程序相关的信息,找出问题所在。