gpt4 book ai didi

android-ndk - Android JNI 方法 - 第二个参数是 jclass 还是 jobject?

转载 作者:行者123 更新时间:2023-12-04 10:39:30 28 4
gpt4 key购买 nike

各位,

在我的 Android Java 代码中,我有如下声明:

public class SurfacePanelNative extends SurfaceView implements SurfaceHolder.Callback {
...
private static native void native_render();
}

在我的 native 代码中,我将函数声明为:
void native_render(JNIEnv *env, jobject javaSurface) {
ANativeWindow* window = ANativeWindow_fromSurface(env, javaSurface);
...
}

查看网络上的一些示例,该函数似乎应声明为:
void native_render(JNIEnv *env, jclass clazz) {
...
}

我想知道哪个声明是正确的。

我认为第一个是正确的。否则,我没有足够的信息来获取 javaSurface。

如果有人能对此有所了解,我将不胜感激。

预先感谢您的帮助。

问候,
彼得

最佳答案

jclass如果方法是 static , 否则 jobject .如果您使用 javah ,正如 JNI 设计者所期望的那样,您将始终得到正确的答案。

关于android-ndk - Android JNI 方法 - 第二个参数是 jclass 还是 jobject?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18861801/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com