Функция обертки для JNI MethodCall в переполнении стека

Мой вопрос: есть ли хорошее решение для написания функции-обертки, которая получает переменные аргументы, может использовать эти аргументы, но также может передавать их в любую функцию jni callmethod? Я уже опробовал такие вещи, как функции variadic. Мне удалось получить переменные аргументы из функций, но мне не удалось передать эти переменные аргументы в любую дальнейшую функцию метода jni. Я действительно не могу найти помощь в Интернете по этой теме. Надеюсь, вы могли бы помочь мне.

void convertParameterString(JNIEnv *env,... ){
using namespace std;
va_list args;
va_start(args,env);

jclass cls2 = env->FindClass("CPPJava");//de/xcc/jnitest/JNITest");  // try to find the class
if(cls2 == nullptr) {
cerr << "ERROR: class not found !";
}
else {                                  // if class found, continue// rerun object construction and method call
jmethodID ctor = env->GetMethodID(cls2, "<init>", "()V");  // FIND AN OBJECT CONSTRUCTOR
if(ctor == nullptr) {
cerr << "ERROR: constructor not found !" << endl;
}
else {
cout << "Object succesfully constructed !" << endl;
jobject myo = env->NewObject(cls2, ctor);              // CREEATE OBJECT
if(myo) {                                     // IF OBJECT CREATED EXECUTE METHOD
jmethodID show = env->GetMethodID(cls2, "getString", "(I)V");

if(show == nullptr)
cerr << "No showId method !!" << endl;
else env->CallVoidMethod(myo,show,args);
cout << "===End of call to java===========" << endl;
}
}
}

}

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]