안녕하세요. 제가 C로 만든 라이브러리를 JNI를 통해 자바에서 사용하려고 하는데요.
일반 함수는 JNI함수를 Wrapping해서 사용하면 문제가 없지만...
C에서 Thread를 생성한 후 그 쓰레드에서 도는 함수를 이용하려니 문제네요.
일단 JNIEnv *를 얻어야 뭔가 할 수 있을텐데...
그래서 JavaVM을 JNI_OnLoad()에서 받아서 전역 변수에 저장했고요.
Thread함수에서
JNIEnv *env;
jint ret = jvm->AttatchCurrentThread((void **)&env, NULL);
를 이용해서 JNIEnv *를 얻으려고 하는데, 이 함수를 실행하면 -1이 나옵니다.
왜 -1이 나오는지에 대한 설명이 있으면 좋을텐데 그런것도 없고... ㅠ.ㅠ