Переписать код C на Java или использовать JNI? - PullRequest
18 голосов
/ 04 марта 2009

В настоящее время я работаю над проектом, написанным на Java. У нас есть несколько алгоритмов, написанных на C / C ++ (по крайней мере, пара сотен), которые необходимо включить в наш проект. Наши два варианта - использовать JNI для вызова этого кода или переписать все алгоритмы на Java.

Я знаю о последствиях использования JNI, это может открыть целый ряд новых проблем, поэтому переписывание всего кода на Java даже рассматривается. Но мысль о переписывании кажется ... неправильной. Алгоритмы были проверены и работают, насколько я знаю, они просто не на том языке.

В этой ситуации JNI облегчит эту задачу? Или это вызовет больше головной боли, чем переписывание кода на Java?


РЕДАКТИРОВАНИЕ № 1: Смежный вопрос - Полезность JNI


РЕДАКТИРОВАТЬ # 2: К вашему сведению - наш Java-проект никоим образом не предназначен для переноса. Это может устранить один из недостатков JNI в том, что он предположительно снижает мобильность.

Ответы [ 11 ]

0 голосов
/ 04 марта 2009

Если это только для Windows, и они уже находятся в DLL, возможно, JNA будет полезным. (если производительность для вызовов функций через JNA не так уж плоха)

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