I have a c++ file myCppTest.cpp which has method
int myFunction(int argv, char **argc) {
}
and a Java native method in myClass.java
public native int myFunction (int argv, char[][] argc);
After generate the header file using javah -jni myClass, i have the header
JNIEXPORT jint JNICALL Java_JPTokenizer_init (JNIEnv *, jobject, jint, jobjectArray);
In my myClass.cpp, I defined
JNIEXPORT jint JNICALL Java_JPTokenizer_init
(JNIEnv *env, jobject obj, jint argv, jobjectArray argc) {
//need to call int myFunction(int argv, char **argc) in myCppTest.cpp
}
How could I pass the arguments "jint argv, jobjectArray argc" to "int argv, char **argc", thanks.
EDIT:
I THINK I MADE A MISTAKE
The Java native method in myClass.java should bepublic native int init (int argv, char[][] argc);
So there is
JNIEXPORT jint JNICALL Java_myClass_init (JNIEnv *, jobject, jint, jobjectArray);
generated after javah. And in myClass.cpp, i have
JNIEXPORT jint JNICALL Java_myClass_init
(JNIEnv *env, jobject obj, jint argv, jobjectArray argc) {
//need to call int myFunction(int argv, char **argc) in myCppTest.cpp
}