2010-09-19 2 views
1

Можно ли сделать одну программу, написанную на Java, C++ и D?Можно ли написать одну программу с тремя языками программирования?

+1

какая дерьмо летит, закрывая вещи, вы ненавистники – Ramilol

+0

Какова цель? Не можете ли вы разделить программу на отдельные процессы и использовать механизмы IPC, такие как каналы, сокеты или разделяемая память? –

+0

Да. Серьезно, хотя: ваш вопрос довольно неспецифичен, объясните, что вы хотите выполнить. – DarkDust

ответ

1

Итак, вы хотите написать, скажем, игру, которая компилируется как на Java, так и на C++ и D? Нет. Но вы можете, например, создайте библиотеку (в C) с общей логикой и используйте ее с Java (через JNI), C++ и D.

По-прежнему не так много смысла, если вам нужна таргетинг на платформу, на которой у вас нет влияние на окружающую среду (например, встроенная система или что-то вроде iOS или Android).

+2

Отказ от вашего первого заявления: MAYBE это возможно. «Программы Polyglot» - это программы, написанные на нескольких языках, например. http://ideology.com.au/polyglot/, который является единственным файлом, который может быть скомпилирован/интерпретирован как Cobol, Pascal, Fortran, C, PostScript, Shell, ассемблер x86 и Perl. См. Также http://www.nyx.net/~gthompso/poly/polyglot.htm. Однако переход от программы типа «hello world» к полной игре может быть немного сложнее. :) – Cowan

+0

Я знаю, что теоретически это возможно, поэтому я ответил «Да» (что было более шуточным), но на практике только хакер, ищущий интересную задачу, даже попытался бы. Но спасибо за ссылки :-) – DarkDust

1

Вы можете, конечно, подключиться к Java и C++ с помощью JNI.

Я ничего не вижу в интерфейсе D на других языках.

Вы можете взаимодействовать на любом языке, который может удаленно, используя общепринятый протокол: сырые сокеты, HTTP и т. Д. Эти два участника могут быть на любом языке, если они могут согласовать протокол.

Строки «одной программы» становятся немного размытыми.

Смежные вопросы