我看到了一些jni签名,如下所示:

// jni
// WAY-1
JNIEXPORT void JNICALL Java_com_test_Test_testMethod(JNIEnv *env,  jobject thisObj);

// WAY-2
JNIEXPORT void JNICALL Java_com_test_Test_testMethod(JNIEnv *env, jclass cls);


Java代码可能是这样的:

// java
package com.test;

public class Test {
    public native void testMethod();
}


WAY-1和WAY-2有什么区别?

最佳答案

第二个调用签名(WAY-2)用于static方法,这些方法没有对象实例。

10-05 19:05