什么是XPCOM?XPCOM与COM?

Cha*_*han 5 com xpcom

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

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

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

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

Phi*_*oth 9

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

XPCOM是Mozilla自己的跨平台(因此XP有点)版本的COM.

是什么让它跨平台?

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

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

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

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

你能帮助我理解这个吗?

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