生成文件
本系列中每个代码示例的生成文件都是通用的 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 时,必须使用如下所示的引号。 nodebug、profile 和 tune 选项是互斥的:在特定编译/链接中,只能使用其中一个,或一个都不使用。 要编译示例以运行 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)来生成工作区。