欢迎大家赞助一杯啤酒🍺 我们准备了下酒菜:Formal mathematics/Isabelle/ML, Formal verification/Coq/ACL2, C++/F#/Lisp
XPCOM
来自开放百科 - 灰狐
(版本间的差异)
小 (→链接) |
|||
(未显示1个用户的6个中间版本) | |||
第1行: | 第1行: | ||
− | http://www.mozilla.org/projects/xpcom/ | + | {{SeeWikipedia}} |
+ | |||
+ | XPCOM(Cross Platform Component Object Model)是一种跨平台组件模型,是Mozilla技术的核心。其原理与微软的COM技术类似,但与COM不同的是,XPCOM是一种跨平台技术,并支持多种语言绑定(Language Bindings)。也就是说,我们可以使用[[C++]]、[[Java]]、[[JavaScript]]、[[Python]]、[[Ruby]]、[[Perl]]等语言来编写组件。而XPCOM的接口(Interface)是用一种叫做[[XPIDL]]的IDL(Interface Description Language)来定义的。 | ||
+ | |||
+ | XPCOM 自身提供了一套核心的组件和类,用于诸如内存管理,线程,基本数据结构(strings, arrays, variants)等 。但是大部分的XPCOM组件并不是这个核心库提供的,而是由很多第三方的平台(例如[[Gecko]]或者Necko)提供,或者由一个应用,甚至一个扩展提供。 | ||
+ | |||
+ | 由于 XPCOM 层本身使用 C/C++ 编写,因此可以使用 C/C++ 直接访问其 API。而当其它的程序设计语言需要访问该 API 时,则需要通过额外的桥接层来实现。如:[[XPConnect]] for JavaScript, [[PyXPCOM]] for Python, [[JavaXPCOM]] for Java. | ||
+ | |||
+ | ==链接== | ||
+ | *[http://www.mozilla.org/projects/xpcom/ XPCOM] | ||
+ | *[http://mb.eschew.org/16 XPCOM Objects] | ||
[[Category:Mozilla]] | [[Category:Mozilla]] |
2011年4月26日 (二) 15:13的最后版本
您可以在Wikipedia上了解到此条目的英文信息 XPCOM Thanks, Wikipedia. |
XPCOM(Cross Platform Component Object Model)是一种跨平台组件模型,是Mozilla技术的核心。其原理与微软的COM技术类似,但与COM不同的是,XPCOM是一种跨平台技术,并支持多种语言绑定(Language Bindings)。也就是说,我们可以使用C++、Java、JavaScript、Python、Ruby、Perl等语言来编写组件。而XPCOM的接口(Interface)是用一种叫做XPIDL的IDL(Interface Description Language)来定义的。
XPCOM 自身提供了一套核心的组件和类,用于诸如内存管理,线程,基本数据结构(strings, arrays, variants)等 。但是大部分的XPCOM组件并不是这个核心库提供的,而是由很多第三方的平台(例如Gecko或者Necko)提供,或者由一个应用,甚至一个扩展提供。
由于 XPCOM 层本身使用 C/C++ 编写,因此可以使用 C/C++ 直接访问其 API。而当其它的程序设计语言需要访问该 API 时,则需要通过额外的桥接层来实现。如:XPConnect for JavaScript, PyXPCOM for Python, JavaXPCOM for Java.
[编辑] 链接
分享您的观点