用Java重写C代码还是使用JNI?
2022-09-02 14:16:31
我目前正在开发一个用Java编写的项目。我们有一堆用C / C++编写的算法(至少几百个),需要将其合并到我们的项目中。我们的两个选项是使用 JNI 调用此代码,或者重写 Java 中的所有算法。
我知道使用JNI的后果,它可能会带来一系列全新的问题,这就是为什么甚至考虑用Java重写所有代码的原因。但是重写它的想法似乎...错。据我所知,这些算法已经过测试并工作,它们只是用错了语言。
在这种情况下,JNI会让这项任务变得容易吗?或者它会比用Java重写代码更令人头疼吗?
编辑#1:相关问题 - JNI的有用性
编辑#2:仅供参考 - 我们的Java项目并不意味着以任何方式都是可移植的。这可能会消除JNI的一个缺点,因为它被认为降低了可移植性。