生成文件

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

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

Nmake 调用 Makeall 调用 效果
nmake makeall 使用调试信息进行编译。
nmake nodebug=1 makeall "nodebug=1" 进行编译而不使用调试信息。
nmake profile=1 makeall "profile=1" 使用分析信息进行编译。
nmake tune=1 makeall "tune=1" 使用工作集优化器信息。
nmake unicode=1 makeall "unicode=1" 针对 Unicode 进行编译。
nmake clean makeall clean 删除临时二进制文件。
nmake cleanall makeall cleanall 删除所有生成的文件。

 

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

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

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