Dynamically loaded modules

David Marceau dmarceau@8d.com
Thu May 10 11:41:00 GMT 2001


Tom Tromey wrote:
>> >>>>> "Jim" == jim <jim@weathercom.com> writes:
>> Jim> How well do programs compiled with gcj handel serialized objects
> Jim> and JavaBeans? I'm working on a app that needs to load modules
> Jim> on startup to modify it's GUI and behavior. Any ideas how gcj
> Jim> would handle that?
>> gcj serialization is compatible with the JDK. We believe it is
> complete, but you will probably find the occasional bug.
>> I don't know anything about beans. gcj doesn't have any java-style
> GUI capability (no AWT or Swing -- but there is a gnome-gcj).
>> libgcj can load bytecode just like other VMs, at least on platforms
> where the interpreter works (x86, alpha, ppc, ia64). libgcj can also
> load precompiled java code (shared objects).
>> Tom
Hi there Mr. Tromey :)
Being that you're talking about loading shared objects with libgcj, I
have a question.
Question:
I have libsampNat.so which contains an CNI-based servic(not JNI) that I
compiled with gcj -shared.
How do I run gij in order to have sample.class loadLibrary("sampNat")
like the jni example gets loaded up in the gcj/JNI example in the gcj
faq.
The files in question are attached.
Thanks for taking the time.
--
Santé bonheur :)
David Marceau
sample.java
sampNat.cc
runit2.scr
Makefile
sample.h
-------------- next part --------------
#GPLUSPLUS_INCLUDE_DIR=/root/testlibjava/gcc/include:/root/testlibjava/gcc/libjava/include:/root/testlibjava/gcc/libjava:/root/testlibjava/gcc/libjava/gcj:/root/testlibjava/gcc/include/gcj:/root/testlibjava/compile/objdir/i686-pc-linux-gnu/libjava/include:/root/testlibjava/compile/objdir/i686-pc-linux-gnu/libjava:$GPLUSPLUS_INCLUDE_DIR
CLASSPATH=/root/testlibjava/gcc/share/libgcj.jar
LD_LIBRARY_PATH=/root/testlibjava/gcc/lib:.:$LD_LIBRARY_PATH
libsampNat.so: sampNat.o
	echo "Making libsampNat.so..."
	/root/testlibjava/gcc/bin/gcj \
	-I/root/testlibjava/gcc/libjava/include \
	-I/root/testlibjava/gcc/libjava \
	-I/root/testlibjava/gcc/libjava/gcj \
	-I/root/testlibjava/gcc/include/gcj \
	-I/root/testlibjava/compile/objdir/i686-pc-linux-gnu/libjava/include \
	-I/root/testlibjava/compile/objdir/i686-pc-linux-gnu/libjava \
	-shared \
	-o libsampNat.so sampNat.o \
	-lstdc++ 
	#--main=sample
sample.o: sample.class
	echo "making sample.o..."
	/root/testlibjava/gcc/bin/gcj \
	-c sample.class \
	-I/root/testlibjava/gcc/include \
	-I/root/testlibjava/gcc/libjava/include \
	-I/root/testlibjava/gcc/libjava \
	-I/root/testlibjava/gcc/libjava/gcj \
	-I/root/testlibjava/gcc/include/gcj \
	-I/root/testlibjava/compile/objdir/i686-pc-linux-gnu/libjava/include \
	-I/root/testlibjava/compile/objdir/i686-pc-linux-gnu/libjava
	#/root/testlibjava/gcc/bin/gcj -I/root/testlibjava/gcc/libjava/include -I/root/testlibjava/gcc/libjava -I/root/testlibjava/gcc/libjava/gcj -I/root/testlibjava/gcc/include/gcj -I/root/testlibjava/compile/objdir/i686-pc-linux-gnu/libjava/include -I/root/testlibjava/compile/objdir/i686-pc-linux-gnu/libjava -c sample.class
sample.class: sample.java
	echo "making sample.class..."
	/root/testlibjava/gcc/bin/gcj \
	--classpath=/root/testlibjava/gcc/share/libgcj.jar:. \
	-C sample.java
sample.h: sample.class
	echo "making sample.h..."
	/root/testlibjava/gcc/bin/gcjh \
	--classpath=/root/testlibjava/gcc/share/libgcj.jar:. \
	sample
	#/root/testlibjava/gcc/bin/g++ 
sampNat.o: sample.h sampNat.cc
	echo "making sampNat.o..."
	/root/testlibjava/gcc/bin/g++ \
	-I/root/testlibjava/gcc/include \
	-I/root/testlibjava/gcc/libjava/include \
	-I/root/testlibjava/gcc/libjava \
	-I/root/testlibjava/gcc/libjava/gcj \
	-I/root/testlibjava/gcc/include/gcj \
	-I/root/testlibjava/compile/objdir/i686-pc-linux-gnu/libjava/include \
	-I/root/testlibjava/compile/objdir/i686-pc-linux-gnu/libjava \
	-fno-rtti \
	-c sampNat.cc
clean:
	echo "cleaning..."
	rm -f sample sample.o sampNat.o sample.class sample.h
-------------- next part --------------
A non-text attachment was scrubbed...
Name: sample.h
Type: text/x-c++
Size: 478 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/java/attachments/20010510/e61938c2/attachment.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: sample.java
Type: text/x-c
Size: 396 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/java/attachments/20010510/e61938c2/attachment-0001.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: sampNat.cc
Type: text/x-c
Size: 433 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/java/attachments/20010510/e61938c2/attachment-0002.bin>


More information about the Java mailing list

AltStyle によって変換されたページ (->オリジナル) /