JavaとJNIが比較的新しいです。私は、Javaのインスタンスメソッドが 無効SETSTATE(ブールが行われる)があると私はJNICallObjectMethodでブール値の引数を渡そうとしているJNIで
tbuff = env->GetObjectClass(buff);
jmethodID setStatemid = env->GetMethodID(tbuff, "setState", "
(Ljava/lang/Boolean;)V");
if(setStatemid==0){
return JNI_FALSE;
}
// Set the buffer to busy
env->CallObjectMethod(buff, setStatemid, true);
CallObjectMethodへの呼び出し()クラッシュを使用して、C++から呼び出すしようとしています。私はJNI_TRUEまたはJNI_FALSEも渡してみました。私はfalseまたはJNI_FALSEを渡す場合、私はメソッドにそれを行うが、渡された値はnullです。私が合格すると、JVMがクラッシュします。これに基づいて、私はブールオブジェクトを正しく渡していないと仮定しています。
任意のガイダンスは、私が適切にBooleanオブジェクトを渡していない午前と仮定していますこれに基づき
? – vcp
env-> ExceptionCheck()を使用してJNI環境エラーが存在するかどうかを確認しましたか? –
@Will_Panda既にJVMクラッシュがあった場合、彼は 'ExceptionCheck()'をどのように呼び出すことができますか? – EJP