Invoking gcj compile program from "c"
Vaijayanthi Mala Suresh
vaijayanthimalas@gmail.com
Wed May 27 07:29:00 GMT 2009
I have written an HelloWorld.java as given below
public class HelloWorld {
public HelloWorld()
{
System.out.println("Hello from constructor");
}
public void printline()
{
System.out.println("Hello from printline");
}
public static void main(String [] args) {
System.out.println("Hello from main");
HelloWorld ht = new HelloWorld();
ht.printline();
}
}
I have compiled it with gcj as given belwo
gcj -c HelloWorld.java
gcj -shared HelloWorld.o -o libHelloWorld.so
Copied the .so file into the folder as per LD_LIBRARY_PATH.
I have a cstartup.c which does the JVM Initialization and has to do a
FindClass() as given below
res = JNI_CreateJavaVM(&jvm,&env,&vm_args);
if (res < 0)
{
fprintf(stderr, "Can't create Java VM\n");
exit(1);
}
cls = (*env)->FindClass(env, "HelloWorld");
if (cls == 0)
{
fprintf(stderr, "Can't find HelloWorld class\n");
exit(1);
}
This prints me "Can't find HelloWorld class"
Can someone help me in this regard?
More information about the Java
mailing list