0

我的系统(Java + Linux)中有一个共享库加载。

System.loadLibrary("mylib");

我想从 mylib 中调用一个 java 函数,例如:

JNIEXPORT void JNICALL Java_absoluta_web_AW_10001_Funcao3(JNIEnv *env, jobject obj) {
    javaFUnction();
printf("Here...\n");
    return;
}

这是可能的?

4

1 回答 1

0

你会用

env->CallVoidMethod(obj, methodID)

你在哪里获得类似的方法ID

jmethodID = env->GetMethodID(classID, "javaFuntion", signature)

其中 classID 是类的 id,signature 是函数的签名。您可以使用 javap 获取签名。这一切都有据可查。你应该可以从那里拿走它。

于 2013-03-20T17:23:10.737 回答