Как кросс-платформенные файлы общаются между собой? Я получил возможность просмотреть код Thunderbird и обнаружил целую инфраструктуру, состоящую из файлов javascript, python, xul и c ++.
Я удивлен, увидев целые рамки. Кто-нибудь может подсказать мне, как они общаются друг с другом?
Что происходит, когда мы выполняем команды make?
Mozilla использует Технология XPCOM интегрировать компоненты, написанные на разных языках.
XPCOM — это кроссплатформенная объектная модель компонентов, аналогичная
Microsoft COM. Он имеет несколько языковых привязок, что позволяет XPCOM
компоненты, которые будут использоваться и реализованы в JavaScript, Java и Python
в дополнение к C ++. Интерфейсы в XPCOM определены на диалекте
IDL называется XPIDL.Сам XPCOM предоставляет набор основных компонентов и классов, например, файл
и управление памятью, потоки, основные структуры данных (строки,
массивы, варианты) и т. д. Большинство компонентов XPCOM не являются частью
этого базового набора и предоставляются другими частями платформы (например,
Gecko или Necko) или приложением или даже расширением.
Других решений пока нет …