OK. Dann definiere ich die Konstante eben als char*. Ok, das geht ja dann.
Aber das
Unicode macht mich noch wahnsinnig:
Code:
_tprintf(_T("JNI_CreateJavaVM\n"));
int status = JNI_CreateJavaVM(&jvm, (void **)&env, &vm_args);
#endif
if (status != JNI_OK) {
switch (status) {
case JNI_ERR:
_tprintf(_T("Error: %d\nunknown error\n"), status);
break;
case JNI_EDETACHED:
_tprintf(_T("Error: %d\nthread detached from the VM\n"), status);
break;
case JNI_EVERSION:
_tprintf(_T("Error: %d\nJNI version error\n"), status);
break;
case JNI_ENOMEM:
_tprintf(_T("Error %d:\nnot enough memory\n"), status);
break;
case JNI_EEXIST:
_tprintf(_T("Error %d:\nVM already created\n"), status);
break;
case JNI_EINVAL:
_tprintf(_T("Error %d\ninvalid arguments\n"), status);
break;
}
return -1;
}
else {
_tprintf(_T("JVM created successfully\n\n"));
}
Ausgabe:
Zitat:
JNI_CreateJavaVM
J V M c r e a t e d s u c c e s s f u l l y
Das ist die Zeile vor dem Switch-Block und dann die Zeile im else-Abschnitt.
In der Konsole von Eclipse habe ich da lauter Rechtecke zwischen den Buchstaben und in der Windows Konsole sind es Leerzeichen. Warum macht er das aufeinmal? Die beiden Zeilen unterscheiden sich doch im Prinzip nicht von einander?