第一篇
第1章
Visual C++ 2008 基础知识
开始使用 Visual C++ 2008
在 Visual C++ 2008 中可以采用多种方式编写 Windows 应用程序,既可以编写基于本地 C++的 Windows 程序,也可以在托管环境下开发 Windows 程序。在接触 Windows 编程之前, 必须熟悉 C++编程语言,特别是 C++语言的面向对象功能。 本章主要概述了 C++编程涉及到的一些基本概念, 以及 C++的集成开发环境 Visual Studio 2008 的使用。 了解.NET Framework 3.5 的概念 熟悉 C++应用程序 创建控制台应用程序 编译、连接并执行 C++控件台应用程序 创建并执行基本的 Windows 应用程序
1.1
.NET Framework 3.5
.NET Framework 是 Visual C++ 2008 以及微软所有其他.NET 开发产品的核心,它是微软 近年来主推的应用程序开发框架, 该框架提供跨平台和跨语言的特性。 使用.NET Framework, 并配合其集成开发环境 Visual Studio,开发人员可以比以往更轻松地创建出功能强大的应用 程序。
1.1.1
什么是.NET Framework
现在的计算机编程语言的执行方式分为两种,一种是编译执行,一种是解释执行。编译 执行是指源程序代码先由编译器编译成可执行的机器码,然后再执行;解释执行是指源代码 程序被解释器直接读取执行。 上面这些都是比较传统的程序代码执行方式,从 Java 语言开始,一种新的程序语言执行 方式产生了,这就是“中间码+虚拟机”执行机制。在这种执行方式中,程序语言源代码需 要被编译成一种特殊的中间码,这种中间码是不能直接在机器上执行的,它需要一个叫“虚 拟机”的装置来管理和执行,虚拟机可以是解释执行,也可以是编译执行。因为“虚拟机” 可以参与和管理程序代码的执行,因此解决了很多传统编译语言一些致命的缺点,如垃圾内
.NET 存回收、 安全性检查和跨平台等。 正因为 Java 有如此优点, 微软也采用了这种执行方式, Framework 类似于管理和执行中间码的“虚拟机” 。 需要注意,.NET Framework 和
Java 的虚拟机 JVM 是不完全相同的,Java 的虚拟机是解 释执行的,而.NET Framework 是编译执行的。另外,.NET Framework 作为开发应用程序的 一个框架,它对操作系统进行封装,需要使用.NET Framework 开发的应用程序与操作系统特 性隔离开来。这样,.NET Framework 开发的应用程序就可以移植到许多不同的硬件和操作系 统上。 事实上,.NET Framework 的主要特色在于简化应用程序开发的复杂性。它提供了一致的 开发模型, 开发人员可以选择任何支持.NET 的编程语言来进行多种类型的应用程序开发, 例 如 Visual Basic.NET、C#和 C++.NET。 .NET Framework 由两个主要部分组成:CLR(Common Language Runtime,公共语言运 行库)和一组供使用的.NET
Framework 类库。
第 一 篇
Visual C++ 2008
基 础 知 识
2
1.1.2
公共语言运行库 CLR
公共语言运行库 CLR 是标准化的程序执行环境。这些可以在 CLR 中执行的程序可以是 C#, 用各种高级语言编写的,比如 Visual Basic、 以及 C++。 现在 CLR 规范收录在 ECMA(欧 洲
计算机制造)的 CLI (通用语言基础结构)标准——ECMA-335 中,并且 CLI 已经通过 ISO 认可,作为 ISO/IEC 23271 的标准。也就是说,CLR 是微软对 CLI 的实现。这也就是为什么 将支持 CLR 的 C++称为 C++/CLI。 CLI 本质上是一种虚拟机环境规范,这种环境规范使各种高级编程语言编写的应用程序 能够在不同的系统环境中执行,而不用修改或重新编译原来的
源代码。CLI 规定了一种供虚 拟机使用的标准中间语言, 高级语言源代码首先将被编译为这种语言。 在.NET Framework 中, 这种中间语言称为 MSIL(Microsoft 中间语言)代码。执行程序时,中间语言代码最终由 JIT (Just-In-Time,实时)编译器编译为本地机器代码。当然,CLI 中间语言代码可以在任何实 现 CLI 标准的环境中执行。 在开发应用程序时,使用一种高级语