2013-03-29 1 views
0

У меня есть код на Java, который вызывает библиотеку C++ (dll). Архитектура соединения:Как подключить Java-код и библиотеку C++ в экстремальных условиях

Java - > wrapper.dll(Win32) -> target.dll(Win32) 

wrapper.dll - библиотека от предыдущего программиста. У меня нет фактического кода для этой и скомпилированной библиотеки fir Win32. target.dll - библиотека thirdparty, где нет исходного кода, но имеет версии для всех платформ.

Как я могу взаимодействовать с Linux?

+0

Это невозможно без исходного кода. – karthick

+0

Я должен спросить, как ваша компания попала в этот беспорядок? Если wrapper.dll представляет собой простую оболочку типа JNI, вы должны иметь возможность сделать некоторые обоснованные предположения относительно того, что она делает. Может быть, даже немного разобраться. Если это сложнее, чем тогда, я думаю, вы собираетесь бороться. Обвините руководство. – john

+0

Либо вы обнаружите замену linux для файла target.dll и напишите новую оболочку (или просто используйте jna вместо), либо попробуйте получить всю вещь, работающую на вине или так далее. (да включая jvm) –

ответ

0

Возможно, вы сможете запускать версию java через Windows через Wine. В настоящее время нет никакого способа связаться с Windows DLL по крайней мере на Linux.

В противном случае вам придется переписать обертку или использовать JNA для прямого вызова функций в исходной библиотеке. Это, наверное, проще, чем вы думаете.

+0

Благодарим вас за ссылку на JNA. Это очень полезно для меня. – Mikhail

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