LINUX.ORG.RU

Смешение языков

 ,


1

2

Добрый день. Подскажите новичку одну вещь.

Подскажите, как использовать в проекте разные языки? Допустим я хочу сделать проект на с++, в котором основой является с++ файл, к нему будут подключены модули на python и java, а интерфейс написан вообще на каком-то другом языке.

Как это реализуется и реализуется ли вообще?

Ну отдельные языки можно встраивать. Например, питон. Все языки можно запускать отдельным процессом, продумав протокол взаимодействия.

slovazap ★★★★★
()

FFI.

Embedded\DSL.

Микросервисы.

anonymous
()

И питон и джава притащат с собой по виртуальной машине. Оно тебе точно надо?

morse ★★★★★
()
Ответ на: комментарий от morse

Бывает нужно. А точно ли нужно - такого вопроса не было.

В общем, иногда возможен прямой вызов. Иногда лучше микросервисы. Есть ещё способы.

Partisan ★★★★
()
Последнее исправление: Partisan (всего исправлений: 1)

Если среди предполагаемых языков все языки умеют стандартный ABI, то они мешаеются в любых комбинациях. C++ плохо совместим со стандартным ABI, поэтому работать будет, но будут проблемы неподлежащие исправления. Также к плохо-совместимым языкам относится Rust и Go.

Как подсказывают выше - выходом в этой ситуации является IPC, если он приемлем по условиям задачи.

cvv ★★★★★
()
Последнее исправление: cvv (всего исправлений: 1)

Для вызова java из питона есть jpype, с++ тоже можно обернуть, например с помощью буста или cython. Сделать можно

Leron ★★
()

Говорят, скоро президентом США станет какой-то актер. По мне вроде и Картер норм.

buddhist ★★★★★
()

RPC с генератором из общего intermediate language.

mv ★★★★★
()

one size fits all:

google: Enterprise Integration Patterns

DonkeyHot ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.