From: junyoung on 27 Apr 2010 01:02 My application is using the jni interface to link java with c. but, there is problem to use it. that is, in side of the jni, I set a callback function to catch errors and print it. this callback function tasks error informations. and additionally, I can't expect the time this callback function wil be called. this is the simple structure of my code. java: ret = SetErrorHandle(); private native SetErrorHandle(); c: static int generateException(void *aArg) { JNIEnv *sEnv = (JNIEnv *)aArg; jclass sClass = (*aEnv)->FindClass("MyException"); sClass->ThrowNew(sEnv, "Error is here"); } JNIEXPORT jint SetErrorHandle(JNIEnv *aEnv, jclass aClass) { /* this function will be called if there is an error */ /* first argument : function pointer second argument : argument for function pointer */ setCallback(generateException, aEnv) } in this code, there are critical problems. first one is sEnv variable pointer is not available in generateException function. whenever this function is called, it generated a segmentation fault because the pointer is not AVAILABLE. so my idea is to create new JNIEnv variable dynamically in generateException function. how do u think? if it is possible, how APIs I can reference? thanks u.
|
Pages: 1 Prev: nested generic HashMap problem Next: Help offered in Financial services |