生成文件

本系列中每个代码示例的生成文件都是通用的 Microsoft Win32 生成文件,旨在从命令提示符窗口生成。 它们采用 Microsoft 编译器和链接器工具,可能需要进行一些修改才能与其他工具配合使用。 大多数编译器/链接器命令行开关是由 Win32.mak makefile 包含文件中定义的宏指定的,该文件包含在平台软件开发工具包 (SDK) 。

Makeall.bat 文件以及每个相应的代码示例生成文件支持下表中列出的常见选项,以便从命令提示符窗口调用以控制生成的性质。

Nmake 调用 生成所有调用 效果
Nmake makeall 使用调试信息进行编译。
nmakenodebug=1 makeall“nodebug=1” 在没有调试信息的情况下进行编译。
nmakeprofile=1 makeall“profile=1” 使用分析信息进行编译。
nmaketune=1 makeall“tune=1” 使用工作集优化器信息。
nmakeunicode=1 makeall“unicode=1” 编译 Unicode。
nmakeclean 使所有清洁 删除临时二进制文件。
nmakecleanall makeallcleanallall 删除所有生成的文件。

 

对于Makeall.bat调用,必须包含如下所示的引号。 nodebugprofiletune 选项是互斥的:对于给定的编译/链接,只能使用其中一个,也可以不使用这些选项。 若要编译示例以使用 Unicode 字符串运行,请使用 “unicode=1” 选项。 默认编译传统 ANSI 字符串支持,因为随后可以在任何 32 位 Windows 操作系统上运行。 你可以在 Windows Server 2003 及更高版本以及 Windows 2000 及更高版本上使用或不带 Unicode 自由编译和运行。 请注意,APPUTIL 始终使用与单独编译的其他代码示例相同的选项进行编译。 对于 “unicode=1” 选项尤其如此。

可以使用已安装的 32 位 C++ 集成开发环境 (IDE) 使用提供的通用生成文件生成示例。 为此,需要在 IDE 中将通用生成文件作为“外部”生成文件进行处理。 提供的生成文件需要 Microsoft NMAKE 兼容的 make 实用工具。

大多数 C++ IDE 可以将这些生成文件识别为外部文件,但仍提供 IDE 的许多编辑-生成-调试优势。 例如,在 Microsoft Visual Studio 97 或更高版本中,可以使用“文件”菜单“打开工作区”选项通过打开适当命名的副本 (例如,代码示例 Win32 makefile 的 Exeskel.mak) 来生成工作区。