在java语言中,函数原型是这样的:public String myrun2(String name)
我在jni的C代码中调用是这样的: MID_ifoo = (*env)->GetMethodID (env, myClassInDll, "myrun2", "(Ljava/lang/String;)Ljava/lang/String;"); if (!MID_ifoo) {
// printf("Error: MyClassInDll.ifoo() not found\n");
MessageBox(NULL,"Error: MyClassInDll.myrun2() not found","Error", MB_OK);
return;
}
(*env)->CallVoidMethod (env, obj, MID_ifoo);
现在GetMethodID执行成功,而CallVoidMethod执行无效果,我想问一下:应该用jni中的什么函数(肯定不是CallVoidMethod)激发myrun2函数呢?
我在jni的C代码中调用是这样的: MID_ifoo = (*env)->GetMethodID (env, myClassInDll, "myrun2", "(Ljava/lang/String;)Ljava/lang/String;"); if (!MID_ifoo) {
// printf("Error: MyClassInDll.ifoo() not found\n");
MessageBox(NULL,"Error: MyClassInDll.myrun2() not found","Error", MB_OK);
return;
}
(*env)->CallVoidMethod (env, obj, MID_ifoo);
现在GetMethodID执行成功,而CallVoidMethod执行无效果,我想问一下:应该用jni中的什么函数(肯定不是CallVoidMethod)激发myrun2函数呢?
jstring xxx= (jstring)env->CallObjectMethod(obj, MID_ifoo ));