ネイティブメソッドでパラメーターを渡す質問を見てください。値を返すネイティブ メソッド Traverser (文字列パス) を書きたい場合はどうすればよいですか? ネイティブ メソッド Traverser (文字列パス) を返す C の long int 型を Java 型に変換するにはどうすればよいですか? たとえば、long int を jlong に変換する方法は? メソッドを書きたい場合
public native long Traverser (String path),
このコードが正しいかどうか
JNIEXPORT jlong JNICALL Java_ParallelIndexation_Traverser(JNIEnv* env, jobject obj, jstring path)
{
long int result;
const jbyte* path2 = env->GetStringUTFChars(path, nullptr);
if (path2 == nullptr)
return;
result=Traverser(path2);
env->ReleaseStringUTFChars(path, path2);
return result;
}
?
それとも変換が必要ですか?
long int result
に
jlong?
そして、代わりに Java_ParallelIndexation_Traverser が可能かどうか
long int result;
宣言する
jlong result;
?