Интеграция C ++ с Java в одном проекте. Возможно ли это и как это сделать? - PullRequest
0 голосов
/ 22 октября 2010

Итак ... У меня будет проект, который будет протестирован на Win 7 и некоторых серверах Linux.Это будет веб-сервис, который будет использовать HSQLDB, Hibernate, Spring, Blaze DS и Flash (Flex RIA) в качестве внешнего интерфейса.Мне нужно внедрить в него некоторые функции фильтрации / редактирования изображений, которые будут реализованы в кроссплатформенном коде C ++ (он будет использовать Open-CV), обернутый в Java.-платформенные проекты Java, использующие библиотеки C / C ++ * (больше всего меня интересует проблема кросс-платформенной компиляции и какие среды IDE поддерживают такие вещи)

Ответы [ 3 ]

1 голос
/ 22 октября 2010

Вам нужно будет использовать JNI.Java будет полностью кроссплатформенной и может быть одним проектом.Для C ++ вам нужно будет создать вызываемый интерфейс JNI и построить его как динамическую библиотеку.Код должен быть довольно кроссплатформенным, но фактическая сборка будет другой.

В Linux вам нужно собрать как .so и вы, вероятно, будете использовать gcc.В Windows вы, вероятно, будете использовать Visual Studio и создавать .dll.Сборка будет другой.

1 голос
/ 22 октября 2010

Похоже, вы извлечете выгоду из родного интерфейса Java. Если у вас есть код на C и C ++, который вы хотели бы использовать из Java, вы можете серьезно рассмотреть что-то вроде GlueGen . Это сэкономит вам много времени на генерацию кода для доступа к вашему коду C.

Вы можете посмотреть официальные примеры Java JNI здесь

1 голос
/ 22 октября 2010
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...