【问题标题】:What is XPCOM? XPCOM vs COM?什么是 XPCOM? XPCOM VS COM?
【发布时间】:2010-10-18 06:48:14
【问题描述】:

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

它是一个包含一组可用于完成某些工作的库的框架吗?

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

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

【问题讨论】:

    标签: com xpcom


    【解决方案1】:

    我无法理解 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。当然,如果您有任何需要回答的具体问题,您可以随时来这里提问。 :)

    【讨论】:

      猜你喜欢
      • 2014-03-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-11-16
      • 2023-03-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多