33
44#include < stdio.h>
55
6- #define JAVA_HOME " D:\\ Program Files\\ Java\\ jre1.8.0_60"
6+ // #define JAVA_HOME "D:\\Program Files\\Java\\jre1.8.0_60"
7+ #define JAVA_HOME " D:\\ Program Files\\ Java\\ jdk-12.0.2"
78#define JVM_DLL JAVA_HOME " \\ bin\\ server\\ " " jvm.dll"
8-
9+ # define CLASSPATH JAVA_HOME " \\ jre \\ lib "
910#ifdef __cplusplus
1011#if __cplusplus
1112extern " C" {
@@ -20,18 +21,18 @@ extern "C" {
2021 JNIEnv *penv = NULL ;
2122 JavaVMOption options[4 ];
2223 options[0 ].optionString = " -Djava.compiler=NONE" ;
23- options[1 ] = { " -Djava.class.path=.;D: \\ Program Files \\ Java \\ jre1.8.0_60 \\ lib \\ dt.jar;D: \\ Program Files \\ Java \\ jre1.8.0_60 \\ lib \\ tools.jar " , NULL };
24+ options[1 ]. optionString = { " -Djava.class.path=.;" CLASSPATH " ; " };
2425 options[2 ].optionString = " -verbose:NONE" ;
2526 options[3 ].optionString = " -XX:+CreateMinidumpOnCrash" ;
26- JavaVMInitArgs args = { JNI_VERSION_1_8 , 4 , options, JNI_TRUE };
27+ JavaVMInitArgs args = { JNI_VERSION_10 , 4 , options, JNI_TRUE };
2728 char *jvmDll = JVM_DLL;
28- HMODULE hmod = LoadLibraryA (" D: \\ Program Files \\ Java \\ jre1.8.0_60 \\ bin \\ server \\ jvm.dll " );
29+ HMODULE hmod = LoadLibraryA (JVM_DLL );
2930 JNICreateJavaVM pJNICreateJavaVM = (JNICreateJavaVM)GetProcAddress (hmod, " JNI_CreateJavaVM" );
30- JNIGetCreatedJavaVMs pJNIGetCreateJavaVMs = (JNIGetCreatedJavaVMs)GetProcAddress (hmod, " JNI_GetCreatedJavaVMs" );
31- JavaVM *pvms[32 ] = { 0 };
32- jsize pvmsnum = 0 ;
33- status = pJNIGetCreateJavaVMs (pvms, sizeof (pvms), &pvmsnum);
34- status = pJNICreateJavaVM (&pvm, (void **)&penv, (void *)&args);
31+ // JNIGetCreatedJavaVMs pJNIGetCreateJavaVMs = (JNIGetCreatedJavaVMs)GetProcAddress(hmod, "JNI_GetCreatedJavaVMs");
32+ // JavaVM *pvms[32] = { 0 };
33+ // jsize pvmsnum = 0;
34+ // status = pJNIGetCreateJavaVMs(pvms, sizeof(pvms), &pvmsnum);
35+ status = (* pJNICreateJavaVM) (&pvm, (void **)&penv, (void *)&args);
3536 if (status == JNI_ERR) {
3637 return 0 ;
3738 }
@@ -60,6 +61,8 @@ extern "C" {
6061 penv->ReleaseStringUTFChars (retStr, 0 );
6162
6263 pvm->DestroyJavaVM ();
64+ printf (" press any key" );
65+ getchar ();
6366 }
6467
6568#ifdef __cplusplus
0 commit comments