[vox-tech] calling java from within C

Ken Bloom kbloom at gmail.com
Fri Apr 21 11:51:21 PDT 2006


On Friday 21 April 2006 13:20, Peter Jay Salzman wrote:
> I'm trying to figure out how to call Java from within C.
>
> It appears that I have three options:
>
> 1. If the Java is already running as a process, there's something
> called CORBA which can be used.
> 2. JNI which appears to be most popular.
> 3. CNI which someone said was 'vastly' more efficient than JNI.

4. Spawn a separate process and communicate via stdin/stdout or via 
sockets using your own custom protocol.

5. KDE Java Applet server. 
http://developer.kde.org/language-bindings/java/kjas/index.html
This is how Konqueror runs applets -- no Netscape plugin needed, so it 
works out of the box on AMD64!

It really depends what you want to do. Numbers 1, 2, 4, and 5 should all 
work approximately the same conceptually because you're not compiling 
your java code to native -- it's just different APIs for talking to the 
JVM.

Number 3 is the API for interfacing G++ with GCJ compiled code. i.e. 
everything's native. I think this requires C++ and doesn't work with 
pure C.

> Most of the JNI docs I've seen are for calling C from within Java,
> not the other way around which I'm more interested in.  The few
> examples of calling Java I've seen on the web seem to be outdated;
> they're from the Java 1.2 days, and I guess the interface has changed
> since then.

http://java.sys-con.com/read/45840.htm

--Ken

-- 
I usually have a GPG digital signature included as an attachment.
See http://www.gnupg.org/ for info about these digital signatures.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
Url : http://ns1.livepenguin.com/pipermail/vox-tech/attachments/20060421/cd312787/attachment.pgp


More information about the vox-tech mailing list