上一页 下一页 返回

3.3 编译和链接Hello程序

  虽然我们到现在为止还没有写任何一行代码,但我们确实得到了一个完整的可运行的程序。要编译运行程序,可以选择Build-(或按快捷键F7),编译该程序。编译完后再选择Build-Execute Hello.exe(或按快捷键CTRL+F5),运行该程序。也可以直接按CTRL+F5,系统提示是否编译,回答“Yes”,Visual Studio将自动编译链接并运行Hello.exe程序。

提示:在Build菜单下有Compile,Build,Rebuild All三个菜单项用于编译程序。其中Compile用于编译当前打开的活动文档;Build只编译工程中上次修改过的文件,并链接程序生成可执行文件。如果以前没有作过编译,它会自动调用Rebuild All操作,依次编译资源文件、源程序文件等;Rebuild All不管文件是否作过修改,都会编译工程中的所有源文件。由于编译链接过程中会产生大量的中间文件和目标文件,它们占用许多硬盘空间,因此Visual Studio在Build下提供了Clean菜单项用于清除这些中间文件。用户在完成一个工程后,应及时清理这些中间文件,否则硬盘很快会被耗尽。

  Hello.exe程序执行后,显示如图3.8所示的窗口。窗口标题为Untitled-Hello。现在我们要在窗口内显示“Hello,world”字样,为此需要手工编辑代码。在类视图(ClassView)中点CHelloView前面的加号,展开CHelloView树,显示它的类成员函数和数据成员。双击OnDraw函数,Visual Studio将打开HelloView.cpp文件并将光标定位在OnDraw函数定义开始处。在OnDraw函数中手工加入代码,如下所示(黑体字为自己加入的代码)。

void CHelloView::OnDraw(CDC* pDC)

{

CHelloDoc* pDoc = GetDocument();

ASSERT_VALID(pDoc);

// TODO: add draw code for native data here

CString str("Hello,World!");

pDC->TextOut(10,10,str);

}

  编译并运行该程序,弹出如图3.9所示的窗口。在窗口左上角显示“Hello,World!”。

T3_9.tif (271688 bytes)

图3.9 显示“Hello,World!”的窗口

到现在为止,我们只写了两行代码,就完成了SDK下需要几百行程序才能完成的工作。这应当归功于Visual Studio提供的AppWizard以及MFC框架在幕后所作的大量工作。为了更好的理解和设计基于MFC框架的程序,我们分析一下MFC框架所做的工作。