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