首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >什么是XPCOM?XPCOM vs COM?

什么是XPCOM?XPCOM vs COM?
EN

Stack Overflow用户
提问于 2010-10-18 06:48:14
回答 1查看 1.2K关注 0票数 5

我很难理解XPCOM。它和COM有什么不同?是什么让它跨平台的?

它是一个框架,有一组库,您可以用来做一些工作吗?

此外,组件对象模型是否意味着每个功能都在组件中实现,这样我们就可以在不知道详细实现的情况下使用它吗?

有人能帮我理解一下吗?谢了陈。

EN

回答 1

Stack Overflow用户

发布于 2010-10-18 10:40:56

我很难理解XPCOM。它和COM有什么不同?

XPCOM是Mozilla自己的跨平台(因此是XP位)的COM版本。

是什么让它跨平台的?

它是在一个库中实现的,这个库已经被Mozilla开源项目的贡献者移植到了许多平台上。您可以为您想要的任何平台构建它或下载二进制文件,如果您想在一个不受支持的平台上使用它的可能性非常小,那么自己移植它应该很简单。

此外,组件对象模型是否意味着每个功能都在组件中实现,这样我们就可以在不知道详细实现的情况下使用它吗?

是的,注意点。其思想是建立一个独立于语言的框架,使不同的组件能够进行通信和交互,而不需要对任何特定组件所用的语言有任何特殊的知识。例如,javascript代码可以调用C++代码。

这是通过组件发布定义良好的接口来实现的,使用了一种名为IDL的语言(或者,在XPCOM的例子中,是XPIDL)。这些接口使用每种支持语言中具有映射的定义良好的类型。每个接口都继承了一个公共基本接口,该接口为引用计数和类型推断提供了标准方法(在COM中称为IUnknown,在XPCOM中称为nsISupports )。

有人能帮我理解一下吗?

在在线资源方面,MSDN (用于COM)MDC (用于XPCOM)都有专门的区域。如果您想真正了解COM的动机以及为什么会这样,我建议您选择唐·博克基本COM。当然,如果您有任何具体的问题需要回答,您可以随时来这里询问。)

票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3957049

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档