2016-02-23 1 views
0

Есть ли способ интегрировать два языка программирования в один и тот же проект? Я работаю над платформой Intel Edison и уже сделал часть управления SQL и связностью на C, теперь я нашел несколько хороших библиотек в Java для второй части проекта. Интересно, как это можно было бы сделать, например, если есть возможность запускать одновременно две скомпилированные программы Edison? Я использую Eclipse IOT.Как интегрировать Java и C в один и тот же проект?

+2

Edison работает под управлением Linux. Таким образом, он всегда * запускает сразу несколько программ. Вы не можете писать одну программу на нескольких языках (хотя вы можете посмотреть на «JNI»). Выполнение нескольких процессов для разных задач, хотя и совершенно нормально. В конце концов, ваше программное обеспечение SQL-сервера, ваш веб-сервер и т. Д. - это все отдельные программы, выполняющие свои собственные отдельные задачи. Трюк заставляет их общаться друг с другом должным образом. Существует много методов, и они попадают под заголовком «[IPC] (https://en.wikipedia.org/wiki/Inter-process_communication)». – Majenko

+0

Этот разговор был [перемещен в чат] (http://chat.stackexchange.com/rooms/36159/discussion-on-question-by-juanv-how-to-integrate-java-and-c-into-same -проект), поскольку это связано с «по теме» - с точки зрения Ардуино. – Avamander

ответ

1

В eclipse можно использовать Java и C в одном проекте. но не делаем.

Это плохая идея, потому что в eclipse каждый проект связан с «механизмом сборки», а механизм сборки - один, связанный с языком программирования.
Другими словами: вы можете иметь c и java-файлы в одном проекте, но вы не можете создавать c и java-файлы в одном проекте.

Лучший способ связать ваш код C и java на уровне рабочей области или даже лучше на уровне контроля версий.

1

Разделите их в независимых частях и разработайте самостоятельно. Я предполагаю, что ваша основная программа написана на Java, а C используется для некоторого низкоуровневого аппаратного клея. Если я прав, то я советую вам создать библиотеку на C, протестируйте ее (проверка - отличная модульная тестовая среда для C) и использование JNI для доступа к этой библиотеке с Java.

0

Прежде всего, я не знаком с Intel Edison. Однако, как насчет обертывания C-функций с использованием Java JNI? Существует действительно интуитивный учебник об этом.

http://jonisalonen.com/2012/calling-c-from-java-is-easy/

Я надеюсь, что это будет полезно!