我无法理解 XPCOM。它与 COM 有什么不同?是什么让它跨平台?
它是一个包含一组可用于完成某些工作的库的框架吗?
另外,组件对象模型是否意味着每个功能都在组件中实现,因此我们可以在不知道详细实现的情况下使用它?
你能帮我理解这一点吗?
谢谢,
陈.
我无法理解 XPCOM。
它与 COM 有什么不同?
XPCOM 是 Mozilla 自己的跨平台(因此XP
位)COM 版本。
是什么让它跨平台?
它是在一个库中实现的,该库已被 Mozilla 开源项目的贡献者移植到许多平台。您可以为您希望的任何平台构建它或下载二进制文件,并且在极少数情况下您想在尚未支持的平台上使用它,您自己移植它应该很简单。
另外,组件对象模型
意味着每个功能都是
在组件中实现,因此我们可以使用
在不知道细节的情况下
执行?
是的,准确无误。这个想法是建立一个独立于语言的框架,使不同的组件能够通信和交互,而不需要任何特定组件所使用的语言的任何特殊知识。因此,例如,javascript 代码可以调用 C++ 代码。
这是通过组件发布定义良好的接口来实现的,使用一种称为IDL http://msdn.microsoft.com/en-us/library/aa367091.aspx(或者,就 XPCOM 而言,XPIDL https://developer.mozilla.org/en/XPIDL)。这些接口利用定义良好的类型以及每种支持语言的映射。每个接口都继承自一个公共基接口,该接口提供了引用计数和类型推断的标准方法(称为IUnknown http://msdn.microsoft.com/en-us/library/ms680509.aspx在 COM 和nsISupports https://developer.mozilla.org/en/NsISupports在 XPCOM 中)。
你能帮我理解吗
请问这个?
在在线资源方面,两个网站都有专门的区域MSDN(针对 COM) http://msdn.microsoft.com/library/ms680573.aspx和MDC(用于 XPCOM) https://developer.mozilla.org/en/xpcom。如果您想真正了解 COM 的动机以及为什么它是这样的,我建议您选择Don Box http://en.wikipedia.org/wiki/Don_Box's 。当然,如果您有任何具体问题需要解答,您可以随时来这里询问他们。 :)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)