C++ JNI_CreateJavaVM() 호출시 예외가 발생하는 이유는?


비주얼 스튜디오 2015를 사용하고 있고, jar 라이브러리를 C++ 코드에서 사용하기 위해 JNI API를 사용 중입니다.

  1. 테스트겸 예제코드를 실행하는데 JNI_CreateJavaVM() 메소드를 호출할 시 예외( 0xC0000005)가 발생합니다. 그 원인을 짐작할 수 있을까요?
#include<jni.h>
...
int main() {

    JavaVM *jvm;
    JNIEnv *env;
    JavaVMInitArgs vm_args;
    JavaVMOption *options = new JavaVMOption[1];
    jint result = 0;

    options[0].optionString = "-Djava.class.path=E:/libraries/MorphemeAnalyzer/org.snu.ids.ha.jar;";
    vm_args.version = JNI_VERSION_1_6;
    vm_args.nOptions = 1;
    vm_args.options = options;
    vm_args.ignoreUnrecognized = false;

    result = JNI_CreateJavaVM(&jvm, (void**)&env, &vm_args); //예외 발생
    delete options;

    try
    {
        ...
    }

    jvm->DestroyJavaVM();
}
  • 2016년 06월 14일에 작성됨
    검색엔진과 A.I에 관심을 두고 있습니다.

조회수 217


1 답변


해결했습니다. 스택, 힙 공간이 넉넉치 않아 예외가 발생했네요.

  • 2016년 06월 14일에 작성됨
    검색엔진과 A.I에 관심을 두고 있습니다.

로그인이 필요한 기능입니다.

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 작성한 답변에 다른 개발자들이 댓글을 작성하거나 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.
► 로그인
► 계정만들기
Close