Собственный вызов Java без библиотеки оболочек C ++ - PullRequest
2 голосов
/ 26 июля 2011

есть ли способ вызывать функции в нативных библиотеках (Windows .dll, Linux .so), без необходимости писать оболочку на C ++, связанную с JEnv и указателями "this"?

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

Спасибо, Эмилио.

Ответы [ 2 ]

4 голосов
/ 26 июля 2011

Вы можете использовать собственный доступ Java, JNA , чтобы делать именно то, что вы хотите.

Обратите внимание, что обычная библиотека-обертка будет написана не на C ++, а на C.

1 голос
/ 26 июля 2011

Я терпеть не мог писать код JNI и смотрел на JNA, но, похоже, он не так широко использовался и мог представлять потенциальную проблему с производительностью. Вместо этого используйте SWIG . Как только вы приступите к работе, вам не понадобится много времени, чтобы написать сценарий и сгенерировать код интерфейса JNI для вас.

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