Как мне скомпилировать несколько языков программирования и связать их вместе? Поскольку каждый язык программирования лучше всего подходит для некоторых конкретных случаев, мне нужно использовать лучшее из каждого языка, как мне это сделать? Можно ли комбинировать java с c ++ или c и Python с C или C ++? Можно ли вызвать функцию java или python из c или c ++ и наоборот?
Компиляция нескольких языков вместе и вызов функции с одного языка на другой
comment
Это называется интерфейсом внешних функций. То, как это реализовано, зависит от используемых языков.
- person Robert Harvey   schedule 21.08.2013
Ответы (2)
- Для вызова C из C ++ ничего особенного не нужно, так как C ++ был разработан таким образом
- Вы можете вызвать C из Python, используя собственные расширения, для этого вам следует использовать ctypes или swig подробнее здесь. И здесь это пример вызова Windows API из Python.
- Существует собственный интерфейс Java для вызова собственного Библиотеки C от Java и наоборот. Подробнее см. здесь
- Также можно вызвать C ++ из C. Если я правильно помню, вам нужно использовать объявление extern C в своем коде C ++, прочтите здесь
- Можно вызвать C из JavaScript (например, собственные модули узлов)
Фактически, почти любой язык имеет возможность вызывать библиотеки C из-за большого количества библиотек C и из-за того, что их легко переносить из системы в систему. Фактически, многие сложные системы используют язык сценариев для так называемого связующего кода, который использует библиотеки C. В любом случае, это обширная тема, вы должны больше рассказать о своей проблеме, чтобы мы могли вам помочь. Если вы хотите протестировать концепцию, я думаю, что путь Python самый простой.
person
Darius Kucinskas
schedule
21.08.2013
Взгляните на libffi - хотя я считаю, что это в основном нацелено на случай "скомпилированный интерпретируемый вызов". .
person
rjp
schedule
23.08.2013