"这篇资料是关于哈工大C++课程的内容,主要讲解了VC++程序的编译链接原理与过程,结合Visual C++这个集成开发环境进行教学。课程由哈尔滨工业大学计算机科学与技术学院的张淼教授讲授,涵盖了课程安排、C++编程环境的历史背景以及面向对象的程序设计语言C++的应用。课程强调了C++程序从编辑到执行的流程,包括预处理、编译和链接等步骤,并提到了VC++主要用于开发Windows应用程序,尤其是窗口应用程序和控制台应用程序的差异以及Windows程序设计的特点。"
知识点详解:
1. **C++程序编译链接过程**:
- **预处理**(Preprocessing): 在编译之前,C++源代码中的`#include`指令会被处理,将头文件的内容插入到源代码中,宏定义会被展开。
- **编译**(Compiling): 将预处理后的源代码转换成汇编语言,再转换成目标代码(.obj文件),这个过程中会进行语法检查和类型检查。
- **链接**(Linking): 把多个目标文件(.obj)和库文件(.lib)合并成一个可执行文件(.exe)。链接器负责解决符号引用,将函数调用和全局变量的地址定位。
2. **Visual C++(VC++)**: 是微软公司开发的一款C++集成开发环境,支持C++编程并提供可视化界面,用于开发Windows应用程序。VC++不仅包含编译器,还提供了丰富的库支持,包括标准C++库和Windows API。
3. **C++标准库**: C++标准库提供了大量的类和函数,包括输入/输出流、容器、算法、智能指针等,方便开发者进行程序设计。
4. **Windows应用程序类型**:
- **控制台应用程序**: 类似DOS程序,有命令行界面,直接在控制台窗口中运行,通常用于学习和简单的交互。
- **Windows窗口应用程序**: 基于Windows图形用户界面,采用事件驱动模式,通过消息机制进行交互,提供更丰富的用户体验。
5. **Windows程序设计模式**:
- **事件驱动**: 用户操作(如点击按钮)产生事件,程序根据事件进行响应。
- **基于消息**: Windows应用程序通过消息队列接收和处理消息,实现程序逻辑。
6. **课程结构**:
- 授课、实验和考试组成,其中实验和平时成绩占总成绩的一部分,考试占比最大。
7. **程序设计语言层次**:
- 从低到高分别是机器语言、汇编语言和高级语言(如C/C++),高级语言具有更好的可读性和可移植性。
通过这个课程,学习者可以深入了解C++程序的构建过程,掌握VC++作为开发工具的使用,以及理解Windows环境下程序设计的基本原理和方法。