我很难理解XPCOM。它和COM有什么不同?是什么让它跨平台的?
它是一个框架,有一组库,您可以用来做一些工作吗?
此外,组件对象模型是否意味着每个功能都在组件中实现,这样我们就可以在不知道详细实现的情况下使用它吗?
有人能帮我理解一下吗?谢了陈。
发布于 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。当然,如果您有任何具体的问题需要回答,您可以随时来这里询问。)
https://stackoverflow.com/questions/3957049
复制相似问题