>>>>> "Sreenivas" == Sreenivas Gummadidala <[EMAIL PROTECTED]> writes: Sreenivas> thanx in advance for ur reply , i wanna a programme to Sreenivas> run which is there in jdk1.2.2 tutorial from sun , java Sreenivas> native interface, invoking jvm . i have j2sdk1.3 Sreenivas> blackdowns java on redhat6.1 , Sreenivas> i am compiling it with Sreenivas> $ gcc -O -I/usr/local/j2sdk1.3/include Sreenivas> -I/usr/local/j2sdk1.3/include/linux Sreenivas> -L/usr/local/j2sdk1.3/jre/lib/i386 -ljava Sreenivas> -shared invoke.c Remove the '-shared' option and link with '-ljvm' instead of '-ljava'. Also add '-lpthread' and '-D_REENTRANT': Our 1.3 includes j2sdk-config which may help you with this: % j2sdk-config --cflags -D_REENTRANT -D_GNU_SOURCE -I/usr/lib/j2sdk1.3/include -I/usr/lib/j2sdk1.3/include/linux % j2sdk-config --libs -L/usr/lib/j2re1.3/lib/i386/client -ljvm -lpthread Sreenivas> JDK1_1InitArgs vm_args; For HotSpot you have to use JavaVMInitArgs instead of JDK1_1InitArgs. You might want to take a look at the Invocation example in our FAQ: http://www.blackdown.org/java-linux/docs/support/faq-release/examples/invocation-in-C++/ With j2sdk-config the makefile can be somewhat simpler:
# # # See http://www.blackdown.org/java-linux/faq/FAQ-java-linux.html # for more information. # # $Id: Makefile,v 1.1 1999/12/31 16:22:54 kreilede Exp $ # # J2SDK_CONFIG=j2sdk-config #J2SDK_CONFIG=j2sdk-config -server #J2SDK_CONFIG=j2sdk-config -native JAVA_HOME=$(shell $(J2SDK_CONFIG) --javahome) # The java tools: JAVAC=$(JAVA_HOME)/bin/javac JAVA=$(JAVA_HOME)/bin/java JAVAH=$(JAVA_HOME)/bin/javah CXXFLAGS=$(shell $(J2SDK_CONFIG) --cflags) LIBS=$(shell $(J2SDK_CONFIG) --libs) # The java source code JAVA_SRC = example/HelloWorld.java # The java class files JAVA_CLASSES = $(JAVA_SRC:%.java=%.class) all: helloworld $(JAVA_CLASSES) run helloworld: helloworld.o $(CXX) -o $@ $? $(LIBS) helloworld.o: helloworld.cpp $(CXX) $(CXXFLAGS) -c -o $@ $< run: helloworld $(JAVA_CLASSES) LD_LIBRARY_PATH=$(shell $(J2SDK_CONFIG) --ld-library-path) ./helloworld example/%.class: example/%.java ${JAVA_HOME}/bin/javac $< clean: $(RM) example/*.class example/*~ core *.o *.so *~ ./helloworld
Juergen -- Juergen Kreileder, Blackdown Java-Linux Team http://www.blackdown.org/java-linux.html JVM'01: http://www.usenix.org/events/jvm01/