2014-01-22 12 views
-1

跨平臺文件如何相互溝通?我有機會通過thunderbird代碼,並且發現了包含javascript,python,xul和C++文件的整個框架。使用什麼框架在mozilla平臺中啓用跨語言交流?

我很驚訝地看到整個框架。任何人都可以指導我如何相互溝通?

當我們執行「make」命令時發生了什麼?

+0

我喜歡這個問題,因爲這是一個問題,我經常在不久前問自己。但是,我覺得這個問題有點寬泛。他們基本上可以與文件,連接或其他任何東西進行通信。 – aIKid

+1

閱讀關於http://en.wikipedia.org/wiki/Application_programming_interface – rullof

+0

幾乎可以肯定通過C++ API(s)。參見(例如)[Simplified Wrapper and Interface Generator](http://www.swig.org/)。 –

回答

6

Mozilla使用XPCOM technology來集成用不同語言編寫的組件。

XPCOM是一個跨平臺組件對象模型,類似於 Microsoft COM。它具有多種語言綁定,允許XPCOM 組件在除C++之外的JavaScript,Java和Python 中使用和實現。 XPCOM中的接口以 稱爲XPIDL的IDL方言定義。

XPCOM本身提供了一組核心組件和類,例如,文件 和內存管理,線程,基本數據結構(字符串, 陣列,變體)等。大多數XPCOM組件不是該核心集的部分 ,並且由平臺的其他部分提供(例如 Gecko或Necko )或者通過應用程序或甚至通過擴展。