什么是XPCOM? XPCOM与COM?

时间:2010-10-18 06:48:15

标签: com xpcom

我无法理解XPCOM。它与COM有什么不同?是什么让它跨平台?

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

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

你能帮助我理解这个吗?   谢谢,   陈。

1 个答案:

答案 0 :(得分:9)

  

我无法理解XPCOM。   它与COM有什么不同?

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

  

是什么让它跨平台?

它是在一个库中实现的,该库已被Mozilla开源项目的贡献者移植到许多平台。您可以为任何您希望的平台构建或下载二进制文件,并且在极不可能的情况下,您希望在不受支持的平台上使用它,应该可以直接自行移植它。

  

此外,还有组件对象模型   意味着每个功能都是   在组件中实现,以便我们可以使用   它不知道细节   执行?

是的,发现。这个想法是一个独立于语言的框架,它使不同的组件能够进行通信和交互,而不需要任何特定组件实现的语言的任何特殊知识。例如,javascript代码可以调用C ++代码。

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

  

你能帮助我理解吗?   好吗?

就在线资源而言,MSDN (for COM)MDC (for XPCOM)都有专门的区域。如果你想真正了解COM的动机及其原因,我建议选择Don BoxEssential COM。当然,如果您有任何需要回答的具体问题,您可以随时来这里问问他们。 :)