1

JavaVM* ローカルを保存するために JNI_OnLoad を呼び出しています。

             JavaVM * and_jvm = NULL;
             jint JNI_OnLoad(JavaVM* vm, void* reserved)
             {
                   and_jvm = vm;
                   return JNI_VERSION_1_6;
             }

スレッドを開始するときに呼び出します

             void * thread_f (void * v)
             {
             jint attachResult = and_jvm->AttachCurrentThread(&env,NULL);
             //The attachResult is 0.
             jclass my_class= (jclass)env->NewGlobalRef(env->FindClass("my/package/com/MyClass"));
             //my_class is 0
             if (my_class == 0)
                  return NULL;
             }

スレッドから NewGlobalRef を呼び出すと、有効なオブジェクトが返されます。なにが問題ですか?

10xs、ナホム

4

1 に答える 1