OLE、ActiveX、COM、ATL直接到底有何区别和联系?

erben 2005-01-28 10:47:28
如题,这些概念搞得我云里雾里的,初学COM,勿怪
...全文
567 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
erben 2005-01-28
  • 打赏
  • 举报
回复
STL和ATL只是名字上有点像:)
brushington 2005-01-28
  • 打赏
  • 举报
回复
这么多人说

我就没的说了

怎么STL都混进来了,STL和ATL没关系的,是C++的标准库

OLE、ActiveX、COM、ATL是微软的接口模型,COM是基础

kugou123 2005-01-28
  • 打赏
  • 举报
回复
OLE 最初是对象链接和嵌入 (Object Linking and Embedding) 的首字母缩写词,但现在被称为 OLE。OLE 中与链接和嵌入无关的部分现在已成为 Active 技术的一部分。

详细信息,参考:
http://msdn.microsoft.com/library/chs/default.asp?url=/library/CHS/vccore/html/_core_ole_background.asp
kugou123 2005-01-28
  • 打赏
  • 举报
回复
STL standard template library 标准模版库,,是惠普实验室开发的一系列软件的统称,作为ANSI/ISO C++的一部分,已经被C++标准委员会正式采纳。

STL的一个重要特点是数据结构和算法的分离,这使其非常通用。另一个重要特性为不是面向对象的,为了实现通用性。

STL有6大组件:algorithm(算法)、container(容器)、iterator(迭代器)、function object(函数对象)、adaptors(适配器)和allocator(记忆体配置器),其中最主要的是前三个组件。
lg2001 2005-01-28
  • 打赏
  • 举报
回复
占个地,顺便问一下,STL\WTL和以上概念又有什么区别呢?
kugou123 2005-01-28
  • 打赏
  • 举报
回复
ActiveX是Microsoft提出的一组使用COM(Component Object Model,部件对象模型)使
得软件部件在网络环境中进行交互的技术集。它与具体的编程语言无关。作为针对Internet应
用开发的技术,ActiveX被广泛应用于WEB服务器以及客户端的各个方面。同时,ActiveX技术也被
用于方便地创建普通的桌面应用程序。

ActiveX既包含服务器端技术,也包含客户端技术。其主要内容是:
  * ActiveX控制(ActiveX Control);用于向WEB页面、Microsoft Word等支持ActiveX
的容器(Container)中插入COM对象。
  * ActiveX文档(ActiveX Document);用于在WEB Browser或者其它支持ActiveX的容器
中浏览复合文档(非HTML文档),例如Microsoft Word文档,Microsoft Excel文档或者用户自
定义的文档等。
  * ActiveX脚本描述(ActiveX Scripting);用于从客户端或者服务器端操纵ActiveX控
制和Java程序,传递数据,协调它们之间的操作。
  * ActiveX服务器框架(ActiveX Server Framework);提供了一系列针对WEB服务器应
用程序设计各个方面的函数及其封装类,诸如服务器过滤器、HTML数据流控制等。
  * 在Internet Explorer中内置Java虚拟机(Java Virtual Machine),从而使Java Applet
能够在Internet Explorer上运行,并可以与ActiveX控制通过脚本描述语言进行通信。
kugou123 2005-01-28
  • 打赏
  • 举报
回复
在ATL产生以前,开发COM组件的方法主要有两种:一是使用COM SDK直接开发COM组件,另一种方式是通过MFC提供的COM支持来实现。

首先ATL的基本目标就是使COM应用开发尽可能地自动化,这个基本目标就决定了ATL只面向COM开发提供支持。

其次,ATL因其采用了特定的基本实现技术,摆脱了大量冗余代码,使用ATL开发出来的COM应用的代码简练高效,即所谓的“Slim Code”。

第三,ATL的各个版本对Microsoft的基于COM的各种新的组件技术如MTS、ASP等都有很好的支持,ATL对新技术的反应速度大大快于MFC。ATL已经成为Microsoft支持COM应用开发的主要开发工具,因此COM技术方面的新进展在很短的时间内都会在ATL中得到反映。这使开发者使用ATL进行COM编程可以得到直接使用COM SDK编程同样的灵活性和强大的功能。




sinall 2005-01-28
  • 打赏
  • 举报
回复
COM:微软组件对象模型,是ActiveX和OLE的基础。
ATL:Active Template Library,是开发COM和ActiveX的类库。
ActiveX:COM的一种,COM对象实现IDispatch一般可以称之为ActiveX,此外ActiveX一般具有界面。
OLE:对象的链接与嵌入,其基础还是COM,具体不太清楚。
kugou123 2005-01-28
  • 打赏
  • 举报
回复
ATL是ActiveX Template Library 的缩写,它是一套C++模板库。使用ATL能够快速地开发出高效、简洁的代码(Effective and Slim code),同时对COM组件的开发提供最大限度的代码自动生成以及可视化支持。

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧