【发布时间】:2009-04-21 09:50:58
【问题描述】:
我目前正在开发一个用 Java 编写的项目。我们有一堆用 C/C++ 编写的算法(至少有几百个)需要合并到我们的项目中。我们的两个选择是使用 JNI 调用这段代码,或者用 Java 重写所有算法。
我知道使用 JNI 的后果,它会引发一系列全新的问题,这就是为什么甚至考虑用 Java 重写所有代码的原因。但是重写它的想法似乎......错误。据我所知,这些算法已经过测试并且可以正常工作,它们只是使用了错误的语言。
在这种情况下,JNI 会让这项任务变得简单吗?还是会比用 Java 重写代码更让人头疼?
编辑 #1: 相关问题 - Usefulness of JNI
编辑 #2: 仅供参考 - 我们的 Java 项目不打算以任何方式进行移植。这可能会消除 JNI 的缺点之一,因为它可能会降低可移植性。
【问题讨论】:
-
这些算法是否足够通用以至于其他人可能已经编写了它们?
-
不,不幸的是,它们根本不是很笼统。
标签: java java-native-interface