Hallo zusammen,
um eine JVM in C++ zu starten, bin ich auf folgende Codezeile gestoßen. Leider versteh ich sie nicht bzw. verstehe ich den Sinn der Zeile nicht:
Und hier nochmal der Code im Zusammenhang:
Gruß,
swalbking
um eine JVM in C++ zu starten, bin ich auf folgende Codezeile gestoßen. Leider versteh ich sie nicht bzw. verstehe ich den Sinn der Zeile nicht:
Code:
typedef jint (WINAPI* JNI_CREATEJAVAVM)(JavaVM **pvm, void ** penv, void *args);
Und hier nochmal der Code im Zusammenhang:
Code:
#include "stdafx.h"
#include "jni.h"
#include "windows.h"
typedef jint (WINAPI* JNI_CREATEJAVAVM)(JavaVM **pvm, void ** penv, void *args);
int main(int argc, char* argv[])
{
JavaVMInitArgs vm_args;
JavaVMOption options[10];
options[0].optionString = "-Djava.compiler=NONE";
options[1].optionString = "-Djava.class.path=.";
vm_args.version = JNI_VERSION_1_4;
vm_args.nOptions = 2;
vm_args.options = options;
vm_args.ignoreUnrecognized = false;
JNI_CREATEJAVAVM JNI_CreateJavaVM = 0;
HMODULE hLib = LoadLibrary("E:\\Programme\\Java\\jre1.5.0_07\\bin\\client\\jvm.dll");
JavaVM* jvm;
JNIEnv* env;
JNI_CreateJavaVM = (JNI_CREATEJAVAVM) GetProcAddress(hLib, "JNI_CreateJavaVM");
long status = JNI_CreateJavaVM(&jvm, (void**) &env, &vm_args);
if (status != JNI_OK)
{
printf("Failed creating JVM. Error: %d\r\n", status);
}
else
{
printf("JVM created\r\n");
}
return 0;
}
Gruß,
swalbking