admin管理员组

文章数量:1531242

2024年6月30日发(作者:)

Technology技术 

Wi n d ows 8的M etro应用(中) 

从应用程序模型到文件系统,Windows 8在很多方面都做了实质性的改进,本 

文将重点介绍支撑Metro应用的WinRT,并以COM为线索介绍它的前世今生。 

主持人:张银奎 

研究10余年

对IA一 架构、操作系统内 

32 事警萎 篓 

核、虚拟技术,尤其对软件调试有较深入 

掘原理》、《机器学习》、《人工智能_ 

竺 ——微软创建NT和未来的冀 夺命狂奔》等。,l止  覆辙,上市

Win

dows

 

 

8 Bet

。 

a版(消费者预览版)如期发

H q 』 / J伏 

布,这标志着Windows 8X/l ̄llJ向前迈进了一 

步。虽然有人说,Windows 8可能重蹈Vista的 

1星1队’—L… /I即死,部IL’日 JJ JJ理由是Me±田^巴 ¨utr0应用丑而,l l门]上L l II ' 

无用,新功能不足。但我觉得说这些话的人颇 

有些主观臆断。事实上,Windows 8在很多方 

面都做了实质性的改进,从应用程序模型到 

文件系统,从普通消费者在意的用户体验到 

专业人员看重的内核调试支持,只不过出于低 

调和谨慎,很多内部改变没有大肆宣传罢了。 

不轻信,不迷信,耳听为虚,眼见为实,我们 

还是继续用调试器这把利剑拨开浮云看真相 

吧。本期我们将重点介绍支撑Metro应用的 

WinRT,溯其源头,我们且从COMi ̄。 

COM 米 

COM是什么?字面讲就是组件对象模型 

(Component Object Mode1),略深一点说, 

就是建立在接口和对象技术上的一种软件协 

作规范,可以在不同软件模块之间以组件的 

形式进行交互。如果时光倒退15年,当时最 

热门的技术可能就是COM了。但从2000年开 

始,随着NET技术的全面推进,COM慢慢被 

冷落了,尽管这个技术一直存在,而且一直在 

微软内外都有使用。 

十几年之后,或许是阴差阳错,或许是命中注 

定,COM技术在Windows 8中王者归来,被重 

新发扬光大了。如果你像我一样,书柜中还有 

关于COM的旧书,那么是时候请这些老朋友 

站出来发挥些价值了。但对于大多数新人道 

的程序员朋友来说,这可能有点天方夜谭。 

不管怎样,我们还是先简要复习一下COM。 

为了避免生硬晦涩,下面就以我的几本书为 

脉络吧。 

以时间为顺序,首先要说的是《对象嵌入与 

链接技术高级编程技术》,这是我6本书中 

最老的一本,也是唯一标题中不带COM字 

样的。而这也恰好反映了COM的渊源。简单 

说,COM是为了解决OLE(Object Linking 

and Embedding)问题而开发的技术。OLE 

的第一个版本发布于1990年,是基于古老 

的在Windows 2 0(1987年)中引入的DDE 

(Dynamic Data Exchange)技术。DDE技术 

有很多问题,贻害至今,我们在《拯救挂死 

的PowerPoint))一文中曾经给出一个经典的 

例子。在OLE 2中,人们开发了一套新的以 

Windows对象为核心的技术来替代DDE,这 

就是COM。这本书的作者是在1992年第一次 

接触0LE 2的,真正开始开发的时间可能还略 

早。OLE 2的发布时间,大约是1993年。很长 

段时间中,OLE 2都是以OLE 2 SDK的形式 

发布的。在1995年5月的《DL Dobb。s》杂志上 

登载了一篇名为“Inside the OLE 2 SDK”的文 

章,专门介绍这个SDK的内容并解释了OLE 2 

的重要概念。 

翻了一下我的光盘资料库,在一个16位压缩 

包中,居然发现了这个SDK的2.03版,时间为 

1994年3月17日。感谢Windows的伟大兼容性, 

双击运行其中的setup exe,这个18年前的安装 

107 

本文标签: 技术可能对象介绍开发