我想使用 JNI 从 Java 调用 C 函数。在 C 函数中,我想创建一个 JVM 并调用一些 Java 对象。当我尝试创建 JVM 时,JNI_CreateJavaVM 返回 -1。
所以,我想知道是否可以这样做。 C 代码被编译创建一个 .so 文件(在 linux 中),Java 代码调用 .so 文件中的函数。
任何执行 Java->C->Java 的示例都会有用。
谢谢。
最佳答案
不,很遗憾,这是不可能的。每个进程只能有一个 JVM,并且您已经在一个 JVM 进程中。
关于Java 调用 C 调用 Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5411271/