背景:我们正在设计一个物理应用程序,它将进行大量数据分析,但我们的重点是集成物理电子设备。
基本上我希望能够打电话root http://en.wikipedia.org/wiki/ROOT(这是一个来自CERN的大数据分析库,用C++编写)用Java的C++库编写的库。基本上,使用 Java 中的 ROOT 类的能力(并且不会浪费太多时间来编写 JNI 包装器)对我们来说是一个亮点(如果这很难,我们很可能会使用 Qt)。
我可以想到以下方法
- JNI - 正如我所说 - 我们不想为每个类编写包装器。 。 。
-
JNA https://github.com/twall/jna/- JNA 不提供 C++ 映射,而只提供 C。
-
SWIG http://www.swig.org/tutorial.html- 我没用过,但听说很难用。
其他可能相关的事情:我们可以访问根源代码,但我们不想更改它。我们希望结果是可移植的。我们希望坚持使用免费图书馆。
正如我所说 - 我们将能够从一开始就使用大部分 ROOT 代码,无需大惊小怪。
编写一个小型 C++ 应用程序,从 stdin 读取输入并将输出写入 stdout。然后从 java 应用程序中运行该进程并从 stdout 读取输出。
这是在没有 JNI 的情况下实现此目的的最佳方法(而且非常容易做到)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)