如何使用 jni 指定可变数量的参数
How to specify variable number of arguments using jni
我在 c 中有一个方法是:
static int callLuaFunctionWithParams(const char *functionName, int numParams, ...);
所以它包含可变数量的参数,我想导出它以便它可以在 android 应用程序上使用。
在 JNIBindings 上,我将其导出为:
JNIEXPORT void JNICALL Java_com_example_callLuaFunctionWithParams(JNIEnv* env, jobject obj, jstring functionName, jint numParams, ...);
但是我如何在 java
上指定该语法
public native void callLuaFunctionWithParams(String functionName, int numParams, ????);
谢谢!
这应该有效:
public native void callLuaFunctionWithParams(String functionName, int numParams, Object... params);
我在 c 中有一个方法是:
static int callLuaFunctionWithParams(const char *functionName, int numParams, ...);
所以它包含可变数量的参数,我想导出它以便它可以在 android 应用程序上使用。 在 JNIBindings 上,我将其导出为:
JNIEXPORT void JNICALL Java_com_example_callLuaFunctionWithParams(JNIEnv* env, jobject obj, jstring functionName, jint numParams, ...);
但是我如何在 java
上指定该语法public native void callLuaFunctionWithParams(String functionName, int numParams, ????);
谢谢!
这应该有效:
public native void callLuaFunctionWithParams(String functionName, int numParams, Object... params);