Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/124.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何释放JNI环境指针? 我有一个典型的C++代码,它启动JNI:< /P> JNIEnv* env = NULL; ... ProcAdd = ( JNI_JVMPROC ) GetProcAddress( hinstLib, "JNI_CreateJavaVM" ); jint createResult = ( ProcAdd ) ( &m_jvm, ( void** ) & env, &vm_args );_C++_Java Native Interface - Fatal编程技术网

如何释放JNI环境指针? 我有一个典型的C++代码,它启动JNI:< /P> JNIEnv* env = NULL; ... ProcAdd = ( JNI_JVMPROC ) GetProcAddress( hinstLib, "JNI_CreateJavaVM" ); jint createResult = ( ProcAdd ) ( &m_jvm, ( void** ) & env, &vm_args );

如何释放JNI环境指针? 我有一个典型的C++代码,它启动JNI:< /P> JNIEnv* env = NULL; ... ProcAdd = ( JNI_JVMPROC ) GetProcAddress( hinstLib, "JNI_CreateJavaVM" ); jint createResult = ( ProcAdd ) ( &m_jvm, ( void** ) & env, &vm_args );,c++,java-native-interface,C++,Java Native Interface,这个很好用。然而,我并没有在代码中的任何地方释放env。我想知道我是否需要释放它?如果是,怎么做 我在我的代码上运行了PurifyPlus,它在上面代码的下面一行给了我漏洞: jint createResult = ( ProcAdd ) ( &m_jvm, ( void** ) & env, &vm_args ); PurifyPlus发出的警告是: [W] MLK:JVM\u FindSignal[JVM.DLL]中分配的120个块的25941字节内存泄漏当您完成J

这个很好用。然而,我并没有在代码中的任何地方释放env。我想知道我是否需要释放它?如果是,怎么做

我在我的代码上运行了PurifyPlus,它在上面代码的下面一行给了我漏洞:

jint createResult = ( ProcAdd ) ( &m_jvm, ( void** ) & env, &vm_args );
PurifyPlus发出的警告是:


[W] MLK:JVM\u FindSignal[JVM.DLL]

中分配的120个块的25941字节内存泄漏当您完成Java虚拟机时,您需要销毁JVM实例:

(*jvm)->DestroyJavaVM(jvm); 

JNIEnv引用由JVM管理,因此您不需要显式释放它。

使用Java虚拟机后,您需要销毁JVM实例:

(*jvm)->DestroyJavaVM(jvm); 

JNIEnv引用由JVM管理,因此不需要显式释放它。

我正在销毁JVM实例。那么说PurifyPlus给出了错误的警告是否安全呢?是否有任何官方文件/页面谈到这一点?我找不到一个。我要离开中的示例。JVM本身完全可能存在内存泄漏。我正在销毁JVM实例。那么说PurifyPlus给出了错误的警告是否安全呢?是否有任何官方文件/页面谈到这一点?我找不到一个。我要离开中的示例。JVM本身完全可能存在内存泄漏。