我有一个移植到 linux 的 c++ 库。 现在我要添加一个 JNI 代码,这样我就可以添加一个 java 包装器。 问题是: 将 JNI 添加到同一库是否会影响用户的 C++ 应用程序 --> 如果未安装 Java,它是否会变得无法工作...等(因为它链接到 jni.h 中的某些代码和其他内容)?
最佳答案
如果您将JNI 添加到您的库中,它不会影响当前库。 JNI 是接口(interface)和回调的集合,使您的库可以被 JVM 使用。如果没有 JNI,您的库将无法在 JVM 中使用。
当您添加 JNI 时,您的库会变大,并且会导出更多符号。
通过将 JNI 添加到您当前的库,这意味着您的库可以用作普通库,同时可以从 JVM 加载。
关于linux - linux共享库中的JNI代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28177101/