C++ 创建Jvm

| 2007年5月12日星期六

http://it.bbs.tongfu.net/tpc/3/9/16565.htm

有时用户已经安装了自己的jdk或者jre,如果想创建自己想要的版本的jdk会受到影响.
因此改成从自己指定的目录手动加载jvm.dll来创建Java虚拟机.
//通过下面的代码来自定义jvm的路径
HINSTANCE handle = LoadLibrary(L"G:\\VisualProjects\\JNITest\\debug\\jre1.5.0\\bin\\client\\jvm.dll");

if( handle == 0)
{
printf("Failed to load jvm dll\n");
exit(-1);
}
else
{
printf("Load jvm dll success\n");
}

typedef int (__stdcall * CreateJavaVM)(JavaVM**,void **,JavaVMInitArgs *);

CreateJavaVM createJVM = (CreateJavaVM)GetProcAddress(handle,"JNI_CreateJavaVM");


createJVM(&jvm, (void **)&env, &args);

0 评论:

发表评论