设为首页 加入收藏

TOP

1.3 第二个程序:空Playpen
2013-10-06 23:53:31 来源: 作者: 【 】 浏览:65
Tags:1.3 第二 程序 Playpen
1.3 第二个程序:空Playpen
我们时不时地会使用一个很特别的图形窗体,它是由我设计并由几个同事帮助实现的(等 你使用它时,我想你会明白我为何给它起这么一个名字)。这是一个大小固定(512×512)的 图形窗体,每个像素被限定为256种颜色之一。现代计算机通常都能够显示比它多得多的颜色, 但我想要的除了使你了解简单的图形系统之外,还使这个程序具有极好的移植性。眼下,我们 以其默认调色板(palette)来使用Playpen。(以后我们会探索选用256种不同的颜色。)
启动MDS并从Project菜单选择New菜单项。确保位置是正确的(你也许打算将“chaper_1” 添加到它提供给你的路径之后,至少我在自己的机器上是这么做的)。现在输入“playpen”作 为项目名称并按下Enter键。
接下来,使用File菜单或Ctrl+N,创建一份名为emptyplaypen的新C/C++(www.cppentry.com)源文件,并输入以 下简短的程序:
这时候尝试编译源代码文件(Ctrl+F7)将会失败,并伴有四条或更多的错误消息。唯一有 意义的是第一条,说找不到playpen.h。原因是我们必须告诉编译器到哪里去查找该头文件。 (头(headers)是C++(www.cppentry.com)标准的组成部分,与头文件(header files)稍有不同,后者由第三方程序 6 第1 章 日期:21/07/04 员提供,它们与第三方代码的关系很像头(header)与C++(www.cppentry.com) 标准库的关系。)
从Project菜单选择Settings菜单项,再选择Compile选项卡。在Compile面板的底部标注有 “Additional include directories”的文本框内,输入“C:\tutorial\fgw_headers”(或者别的路径, 如果你将CD内容安装到其他驱动器或目录中的话)。换言之,告诉编译器到C盘turorial目录中 的fgw_headers子目录中进行查找。在你设置头文件位置的同时,请顺便检查是否如第一个项目 那样设置了相同的警告级别。
当你完成上述工作后,数据输入窗口应该如图1-7所示。
只要你的输入没有问题,emptyplaypen.cpp应该可以通过编译而不会发生错误或出现警告。 现在尝试生成(build)它(F7),你将会看到连接期(link-time)错误消息,其中提到了你遗 漏的东西。问题出在playpen.h曾对编译器许下过关于连接器可以找到什么东西的承诺,但我们 并未告诉连接器究竟是哪个库文件提供了必需的预编译(目标)代码。连接器需要两个库文件: 一个针对fgw库(我的库),一个针对gdi32库(跟操作系统相关的库,提供了一些被我的库所 使用的基本图形设施)。
再次打开Project Settings对话框并选择Link选项卡。如果你正工作于微软Windows机器之 上,则在Libraries文本框中输入“fgw;gdi32”。
现在,你应该在屏幕上看到如图1-8所示画面。
返回项目并生成(build)它,一切应该能够正确运转了。
如果你正在使用的系统支持使用X Window System(例如Linux、Mac OS X等)的图形, 那么你需要将“fgw;X11;pthread”而不是“fgw;gdi32”插入到Libraries文本框中,后者用于微 软Windows系统。你还需要像“C:/tutorial/fgw_headers;/usr/X11R6/lib”这样的路径,这两个路 径分别告诉编译器我的库的头(headers)目录和X11R6库目录的位置。如果你不知道机器上的 X11所支持文件的位置,你也许需要别人的帮助。
如果你使用的是一套不同的开发工具,你可能还需要知道库文件的名字而不仅仅是库的名 字。MDS(连同GCC,即GNU Compiler Collection,MDS建立于它之上)使用这样的一种命 名约定:库保存在以“lib”打头并以“.a”结尾的文件中。因此,库文件libfgw.a和libgdi32.a 为Windows提供了两个库,而linfgw.a、libX11.a以及libpthread.a则为使用X11作为图形支持的 系统提供库。
最后,执行程序你将会看到图1-9所示结果。
你可以看到最顶层有一个标题为“Plyapen”的矩形白色窗体。在你学习本书期间我们将多 次使用这个图形窗体。在它下面是一个标准控制台窗体(如果你没有改变计算机默认设置的话, 它通常是黑色的)。在某些计算机上,你还可能在屏幕的左上角看到一片白色区域。不必为之烦心,那是因为某些版本的Windows在创建Playpen窗体时忘记了更新屏幕。只要你拖动一个窗体到那片区域上方,然后再移走,Windows就可以正确地更新屏幕。
利用任务栏选择控制台窗口(也可以点击屏幕上该窗体可见的某个部分,以将其“提到”顶层),然后按照它显示的指令进行操作。
【责任编辑:雪花 TEL:(010)68476606-8007】

回书目   上一节   下一节

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇C++编程你也行 目录 下一篇1.1 创建“Hello World”程序

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: