📄 chap3_3.htm
字号:
<html><head><title>3.3 编译和链接Hello程序</title><meta http-equiv="Content-Type" content="text/html; charset=gb2312"><meta name="GENERATOR" content="Microsoft FrontPage 3.0"></head><body link="#3973DE" alink="#3973DE" background="../../bg.gif"><font SIZE="5"><b><div align="center"><center><table border="0" width="85%" cellspacing="0" cellpadding="0" bgcolor="#FFFFFF"> <tr> </b><td><div align="center"><center><table border="0" width="615" cellpadding="0" cellspacing="0" height="20"> </table> </center></div><font FACE="Times New Roman" SIZE="4"><b><p ALIGN="CENTER"></b></font><font color="#3973DE" FACE="Times New Roman" SIZE="4">3.3 </font><font color="#3973DE"><font SIZE="4">编译和链接</font><font FACE="Times New Roman" SIZE="4">Hello</font><font SIZE="4">程序</font></font><font FACE="Times New Roman" SIZE="3"></p> <p ALIGN="JUSTIFY"></font><span style="font-size: 9pt"> 虽然我们到现在为止还没有写任何一行代码,但我们确实得到了一个完整的可运行的程序。要编译运行程序,可以选择Build-(或按快捷键F7),编译该程序。编译完后再选择Build-Execute Hello.exe(或按快捷键CTRL+F5),运行该程序。也可以直接按CTRL+F5,系统提示是否编译,回答“Yes”,Visual Studio将自动编译链接并运行Hello.exe程序。<br> </span><b></p> <div align="center"><center><table border="2" cellspacing="0" width="90%" bgcolor="#CACACA" cellpadding="3"> <tr> <td width="100%"></b><span style="font-size: 9pt"><font color="#000000">提示:在Build菜单下有Compile,Build,Rebuild All三个菜单项用于编译程序。其中Compile用于编译当前打开的活动文档;Build只编译工程中上次修改过的文件,并链接程序生成可执行文件。如果以前没有作过编译,它会自动调用Rebuild All操作,依次编译资源文件、源程序文件等;Rebuild All不管文件是否作过修改,都会编译工程中的所有源文件。由于编译链接过程中会产生大量的中间文件和目标文件,它们占用许多硬盘空间,因此Visual Studio在Build下提供了Clean菜单项用于清除这些中间文件。用户在完成一个工程后,应及时清理这些中间文件,否则硬盘很快会被耗尽。</font></span></td> </tr> </table> </center></div><p ALIGN="JUSTIFY"><span style="font-size: 9pt"> Hello.exe程序执行后,显示如图3.8所示的窗口。窗口标题为Untitled-Hello。现在我们要在窗口内显示“Hello,world”字样,为此需要手工编辑代码。在类视图(ClassView)中点CHelloView前面的加号,展开CHelloView树,显示它的类成员函数和数据成员。双击OnDraw函数,Visual Studio将打开HelloView.cpp文件并将光标定位在OnDraw函数定义开始处。在OnDraw函数中手工加入代码,如下所示(黑体字为自己加入的代码)。</span></p> <p ALIGN="JUSTIFY"><span style="font-size: 9pt">void CHelloView::OnDraw(CDC* pDC)</span></p> <p ALIGN="JUSTIFY"><span style="font-size: 9pt">{</span></p> <p ALIGN="JUSTIFY"><span style="font-size: 9pt">CHelloDoc* pDoc = GetDocument();</span></p> <p ALIGN="JUSTIFY"><span style="font-size: 9pt">ASSERT_VALID(pDoc);</span></p> <p ALIGN="JUSTIFY"><span style="font-size: 9pt">// TODO: add draw code for native data here</span></p> <p ALIGN="JUSTIFY"><b><span style="font-size: 9pt">CString str("Hello,World!");</span></p> <p ALIGN="JUSTIFY"><span style="font-size: 9pt">pDC->TextOut(10,10,str);</span></b></p> <p ALIGN="JUSTIFY"><span style="font-size: 9pt">}</span></p> <p ALIGN="JUSTIFY"><span style="font-size: 9pt"> 编译并运行该程序,弹出如图3.9所示的窗口。在窗口左上角显示“Hello,World!”。</span></p> <p ALIGN="center"><span style="font-size: 9pt"><img src="T3_9.gif" alt="T3_9.tif (271688 bytes)" WIDTH="578" HEIGHT="369"></span></p> <p ALIGN="center"><span style="font-size: 9pt">图3.9 显示“Hello,World!”的窗口</span></p> <p><span style="font-size: 9pt">到现在为止,我们只写了两行代码,就完成了SDK下需要几百行程序才能完成的工作。这应当归功于Visual Studio提供的AppWizard以及MFC框架在幕后所作的大量工作。为了更好的理解和设计基于MFC框架的程序,我们分析一下MFC框架所做的工作。</span></p> <div align="center"><center><table border="0" cellpadding="0" cellspacing="0" width="615"> <tr> <td><span style="font-size: 9pt"><a href="chap3_2.htm">上一页</a></span></td> <td><p align="right"><span style="font-size: 9pt"><a href="chap3_4.htm">下一页</a></span></td> </tr> </table> </center></div><font SIZE="5"><hr noshade color="#3973DE" size="1"> </td> <b> </tr></table></center></div></b></body></html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -