想法是尝试使用大堆内存参数调用 JNI_CreateJavaVM,如果失败,再次调用它并省略堆内存参数,因此使用默认值。
第一次调用失败会给我一个 JNI_ENOMEM 的返回码(内存不足),这是我所预料的。
但是,随后对 JNI_CreateJavaVM 的调用似乎失败,返回码为 -1(JNI_ERR:未知错误)。
在重试之前我必须执行某种重置吗?不用说,我随后的调用本身就成功了。
我将这个 C 和 C++ 标记为访问接口的方法在这些语言中是相同的。
想法是尝试使用大堆内存参数调用 JNI_CreateJavaVM,如果失败,再次调用它并省略堆内存参数,因此使用默认值。
第一次调用失败会给我一个 JNI_ENOMEM 的返回码(内存不足),这是我所预料的。
但是,随后对 JNI_CreateJavaVM 的调用似乎失败,返回码为 -1(JNI_ERR:未知错误)。
在重试之前我必须执行某种重置吗?不用说,我随后的调用本身就成功了。
我将这个 C 和 C++ 标记为访问接口的方法在这些语言中是相同的。