我用 Java 和 JNI 为 Linux 编写了简单的“Hello World”程序,如果我适合使用 JNI,你必须为每个平台编译共享库(例如,Linux 的 *.so,Windows 的 *.dll 等等)把它放在某个地方在您的 *.jar 文件附近并编写一个脚本以正确执行它(例如 java -jar -Djava.library.path=.your_app.jar)。这让我有点难过,因为我选择 Java 是因为平台相互依赖。当然,用 Windows 和 Mac 构建一个完全相同的库并不是什么大不了的事,但第一次我想到了一个像银弹一样的 JNI,它将 Java 的平台独立性和 C 的速度结合在一个 .jar 文件中。
也许我认为有问题并且有办法做到这一点?