查。非托管 C++也被称为本地 C++,因为其代码被直接编译为本地机器代码。各种 C++程序的特点如图 1-1 所示。
第 一 篇
Visual C++ 2008
基 础 知 识
4
图 1-1
C++程序类型
图 1-1 列出的程序类型之间并不是完全独立的。应用程序可以部分代码采用托管 C++, 而另一部分则使用本地 C++代码。当然,混合使用代码会造成一些损失,因为托管代码组件 与非托管代码组件之间通信可能会产生相当大的系统开
销。因此,只有当需要开发或扩展非 托管代码,而又希望使用托管代码的优点时,混合两种代码才有意义。对于新的应用程序而 言,在最初就应该决定是否采用托管 C++来开发程序。 为了以后
学习的方便,需要全面理解 C++,包括语言的本地 C++和 C++/CLI 版本。以下 是 Visual C++ 2008 支持的两个独立标准定义的 C++版本。 ANSI/ISO C++ 也称为标准 C++,用于实现本地非托管的 C++应用程序。标准 C++ 很早就出现了,多数计算机平台都支持该版本的 C++。ANSI/ISO C++一直是许多专 业程序开发者的首选,而且目前仍然是功能最强大的编程语言之一。 C++/CLI 运行在 CLR 中的托管 C++,它是 ISO/ASNI C++的扩展,以便更好地支持 ECMA-335 标准定义的 CLI。 该标准是在 2003 年微软公司为了支持 C++程序而在.NET Framework 内执行而提出的。虽然 C++/CLI 是 ISO/ANSI C++的扩展,但是如果希望 程序完全在 CLR 控制下执行,那么有些 ISO/ANSI C++的功能绝对是不能使用的。
1.3
Visual C++ 2008 与 Visual Studio 2008
本书使用 Visual Studio 2008 进行所有的开发,包括简单的命令行应用程序,以及比较复 杂的项目类型。尽管 Visual Studio 2008 不是开发 C++应用程序所必需的,可以使用基本的文 本编辑器(如常见的记事本程序)编辑 C++源代码,再使用 C++编译器对代码进行编译。但 使用 Visual Studio 2008 可以使任务更简单一些。
Visual Studio 2008 是一个完整的开发环境。 Visual C++ 2008 只是 Visual Studio 2008 的一 部分,在 Visual Studio 2008 中还可以使用 Visual Basic.NET 和 Visual C#语言进行开发。 如果是第一次运行 Visual Studio 2008,则屏幕上会显示一个如图 1-2 所示的“选择默认 环境设置”对话框。 在其中选择“Visual C++ 开发设置”选项,表示使用 Visual C++的开发环境。然后单击 “启动 Visual Studio”按钮,系统将花几分钟的时间使配置环境生效。 如果不是第一次运行 Visual Studio 2008,并且选择了另一个选项,为了将设置重置为 Visual C++开发环境,可以在打开 Visual Studio 之后,选择“工具”菜单中的“导入和导出 设置”选项,打开配置文档管理向导,如图 1-3 所示。在该对话框中可以选择导出当前的环 境设置,或导入选定的环境设置,这样通过导出配置文档,可以建立并共享自己的配置文件。
第
1 章
开 始 使 用
Visual C++ 2008
图 1-2 “选择默认环境设置”对话框
图 1-3
配置
文档管理向导
为了重新设置当前的开发环境,选择“重置所有设置”选项,然后单击“下一步”按钮, 屏幕上会出现如图 1-4 所示的对话框,这个画面有两个选项,一是保存现有设定,二是放弃 保存现有设定。用户可以按照自己的需要任意选择,然后单击
“下一步”按钮。 接下来就会出现如图 1-5 所示的对话框,在其中可以重新选择默认的环境配置。
5
第 一 篇
图 1-4 导入和导出设置 图 1-5 重新选择默认环境配置
Visual C++ 2008
基 础 知 识
6
由上可知,Visual Studio 开发环境的布局是完全可定制的,但各个语言默认的设置比较 适合各类语言的特点。在 C++的开发环境设置如下,其布局如图 1-6 所示。
图 1-6
Visual Studio 2008 集成开发环境
在 Visual Studio 启动时,主窗口会默认显示一个介绍性的“起始页” ,该主窗口还会显示 所有的代码。这个窗口可以包含许多
文档,每个文档都有一个标签,单击文件名,就可以在 文件之间切换。这个窗口也具有其他功能:它可以显示图形用户界面,该界面可用于
设计项 目,以及各种内置于 Visual Studio 的工具。 在主窗口的上面包含菜单栏和工具栏。在工具栏中有几个非常重要的工具按钮,其功能 可以实现保存和加载文件、编译和运行项目,以及调试控件等。在以后需要这些工具栏时将 会详细讨论它们。