my dog learned polymorphism*
The moose likes Java in General and the fly likes invoking jvm on windows plat. through c Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of Murach's Java Servlets and JSP this week in the Servlets forum!
JavaRanch » Java Forums » Java » Java in General
Bookmark "invoking jvm on windows plat. through c" Watch "invoking jvm on windows plat. through c" New topic
Author

invoking jvm on windows plat. through c

vishal aggarwal
Greenhorn

Joined: Jun 07, 2001
Posts: 1
Is there any difference while invoking java vm with jdk1.3 through c,is any new feature added in jni with jdk1.3
i am trying to invoke with the code follows but it does not work fine
#include <stdio.h>
#include <jni.h>
int mainn()
{
JavaVMOption options[2];
JavaVMInitArgs vm_args;
JavaVM *jvm;
JNIEnv *env;
long status;
jclass class_imadmin_Test;
jclass class_String;
jobjectArray args;
jmethodID id_main;
options[0].optionString="-D java.class.path=e:\\sakshi\\java\\classes";
options[1].optionString="-Verbose:jni";
memset(&vm_args,0,sizeof(vm_args));
//memset(&options[0].optionString,0,sizeof(options[0].optionString));
vm_args.version = JNI_VERSION_1_2;
vm_args.options = options;
vm_args.nOptions = 2;
vm_args.ignoreUnrecognized = 1;

status=JNI_CreateJavaVM(&jvm,(void **)&env,&vm_args);
if(status==JNI_ERR)
{
printf("Error in Creation Of Virtual Machine");
return 1;
}
class_imadmin_Test=(*env)->FindClass(env,"Test");
id_main=(*env)->GetStaticMethodID(env,class_imadmin_Test,"main","([Ljava/lang/String V");
class_String=(*env)->FindClass(env,"java/lang/String");
args=(*env)->NewObjectArray(env,0,class_String,NULL);
(*env)->CallStaticVoidMethod(env,class_imadmin_Test,id_main,args);
(*jvm)->DestroyJavaVM(jvm);
return 0;
}
 
It is sorta covered in the JavaRanch Style Guide.
 
subject: invoking jvm on windows plat. through c
 
Similar Threads
Invoking JVM through C++ code
lingle
Creating VM in C
Have anyone try this code?
Please help...I'm dying here.