五、编写WINDOWS程序—编译、连结和执行
当您准备编译HELLOMSG时,您可从「Build」菜单中选择「 Build Hellomsg.exe」,或者按F7,或者在「 Build」工具列中选择「Build」图示。(该图示的外观显示在「 Build」菜单中。如果当前没有显示「Build」工具列,您可从「 Tools」菜单中选择「Customize」并选择「 Toolbars」页面标签,选中「Build」或者「 Build MiniBar」。)
另一种方法,您可从「Build」菜单中选择「Execute Hellomsg.exe」,或者按「Ctrl+F5」,或者在「 Build」工具列单击「Execute Program」图标(该图标看上去像一个红的感叹号),就会弹出一个消息框询问是否编译该程序。
正常情况下,在编译阶段,编译器从C原始码文件产生一个.OBJ(目标)文件。在连结阶段,连结程序结合.OBJ文件和.LIB(库)文件以建立.EXE(可执行)文件。通过在「 Project」页面标签上选择「Settings」并单击「 Link」页面标签可以查看这些库文件的列表。特别地,您会注意到KERNEL32.LIB、USER32.LIB和GDI32.LIB。这些是三个主要Windows子系统的「引用链接库」。它们包含了动态链接库的名称以及放进.EXE文件的引用信息。Windows使用该信息处理程序对KERNEL32.DLL、USER32.DLL、GDI32.DLL动态链接库中函数的呼叫。
在Visual C++ Developer Studio中,您可用不同的设定编译和连结程序。内定情况下,它们是「Debug」和「Release」。可执行文件被存放在以这些名称命名的子目录下。在Debug设定下,信息被附加到 .EXE文件中,这些信息有助于测试程序和追踪原始码。
如果您喜欢在命令列下工作,附上的CD-ROM包含所有范例程序的.MAK(make)文件。(可通过「 Tools」菜单选择「Options」,再选择「 Build」页面标签,来告诉Developer Studio生成make文件。这里有一个复选框需要勾选)。您需要执行在Developer Studio的BIN子目录下的VCVARS32.BAT来设置环境变量。要从命令列执行make文件,可以转到HELLOMSG目录并执行:
NMAKE /f HelloMsg.mak CFG="HelloMsg - Win32 Debug"
或者
NMAKE /f HelloMsg.mak CFG="HelloMsg - Win32 Release"
然后您可通过输入:
DEBUG\HELLOMSG
或者
RELEASE\HELLOMSG
从命令列执行.EXE文件。
我已经在本书附上的CD-ROM中对项目文件中的内定Debug设定做了一个改动。在「 Project Settings」对话框中,选择「C/C++」页面标签后,在「 Preprocessor Definitions」栏中,我已定义了标识符UNICODE。我将在下一章中对此有更多的解释。