Visual C++ 简介(针对 UNIX 用户)

本主题提供的信息面向第一次接触 Visual C++ 并希望使用 Visual C++ 高效工作的 UNIX 用户。

命令行入门

您可以从命令行使用 Visual C++,其方法与使用 UNIX 命令行环境类似。可以使用命令行 C 和 C++ 编译器 (CL.EXE) 及工具(包括 NMAKE.EXE,也就是 Microsoft 版本的 UNIX 生成实用工具)从命令提示处进行编译。

在 UNIX 中,命令安装在公共文件夹(如 /usr/bin)中。在 Visual C++ 中,命令行工具安装在安装目录中的 VC\bin 下(在典型安装上,为 Program Files\Microsoft Visual Studio 8\VC\bin)。若要使用命令行工具,请运行 vsvars32.bat,该文件位于安装目录中的 Common7\Tools 中。这会将您的 bin 目录添加到您的路径中,并设置从命令行编译 Visual C++ 程序所需的其他路径。

说明说明

如果从“开始”菜单使用“Visual Studio 命令行提示”打开命令提示,将自动运行 vsvars32.bat。

若要利用更强大的功能,如调试器、语句结束等,需要使用开发环境。有关更多信息,请参见在命令行上生成演练:在命令行上编译本机 C++ 程序

调试代码

如果使用命令行并在开发工作站上运行应用程序,则当代码遇到内存存取冲突、未经处理的异常或其他不可恢复的错误时,将显示用于运行 Visual Studio 调试器的对话框。如果单击**“确定”**,会启动 Visual Studio 开发环境,调试器将打开到发生失败的点。通过这种方式可以调试应用程序,而在本例中,仅当使用 /Z7、/Zi、/ZI(调试信息格式)开关进行了编译时,源代码才可用。有关更多信息,请参见调试本机代码使用 Visual Studio IDE 进行 C++ 桌面开发

使用开发环境

使用开发环境编辑和生成项目中的源代码更为方便。项目是源文件和相关文件的集合,它们将被编译为单个单元,如库或可执行文件。项目还包含有关如何生成这些文件的信息。有关项目的信息存储在扩展名为 .prj 的项目文件中。

包含多个库和可执行文件(每个库或可执行文件都可能是使用一组不同的编译器选项生成的,甚至是使用不同语言编写的)的应用程序存储在多个项目中,这些项目同属一个“解决方案”。解决方案是用于将多个项目组合到一起的容器的抽象。有关解决方案的信息存储在扩展名为 .sln 的解决方案文件中。有关更多信息,请参见管理解决方案、项目和文件使用 Visual Studio IDE 进行 C++ 桌面开发

导入现有代码

您可以使用 Visual C++ 来利用设置为用或不用生成文件编译的现有代码,并将这些代码放入 Visual Studio 项目中。有关更多信息,请参见**“从现有代码文件创建项目向导”**。有关更多信息,请参见如何:通过现有代码创建 C++ 项目

创建新项目

您可以在开发环境中创建新项目。Visual C++ 提供了许多模板,这些模板提供各种常见项目的标准代码。可以使用应用程序向导来通过适用于各种应用程序类型的代码大纲生成项目。

您可以通过使用**“控制台应用程序 (Win32) 向导”从空项目开始。选择“空项目”**复选框。然后,就可以向该项目添加新的和现有的文件了。

创建项目时,必须对项目进行命名。默认情况下,项目名称与从项目生成的动态链接库 (DLL) 或可执行文件的名称相同。有关更多信息,请参见创建解决方案和项目

Microsoft 专用的修饰符

Visual C++ 包含标准 C++ 编程语言的一些扩展。这些扩展用于指定存储类特性、函数调用约定和基寻址等等。有关所有 Visual C++ 扩展的完整列表,请参见 Microsoft 专用的修饰符

您可以使用 /Za 编译器选项禁用所有特定于 Microsoft 的 C++ 扩展。如果要编写可在多个平台上运行的代码,建议您使用此选项。有关 /Za 编译器选项的更多信息,请参见 /Za、/Ze(禁用语言扩展)。有关 Visual C++ 一致性的更多信息,请参见 Visual C++ 中的兼容性和合规性问题

预编译头

Microsoft C 和 C++ 编译器提供了用于预编译任何 C 或 C++ 代码(包括内联代码)的选项。利用此性能特性,可以编译稳定的代码体,将已编译状态的代码存储在文件中,以及在随后的编译中将预编译的代码与仍在开发的代码结合起来。由于不需要重新编译稳定代码,因此后面每次编译的速度都要快一些。

默认情况下,所有预编译的代码都在 stdafx.hstdafx.cpp 文件中指定。**“新建项目”向导会自动为您创建这些文件,除非您取消选择“预编译头”**选项。有关预编译头的更多信息,请参见创建预编译的头文件

相关章节

有关更多信息,请参见从 UNIX 到 Win32 的迁移

请参见

任务

Visual C++ 指导教程