Hi,
one correction, please see below:
Regards,
Angelo
Bernd Kreimeier schrieb:
>
> A dumb question about clean-room VM's and JNI.
>
> JNI is supposed to be binary compatible - a DLL
> created using a compliant jni.h is supposed to work
> with any VM.
>
I did not understand the specs for JNI in that way!
I interpreted them that you may have (and in reality
will need!) to recompile your native library to fit
to the specific JVM.
Only the API (as text!) is defined in jni.h and
further!
> The JNI specs specifies jobject as opaque struct.
> Is this sufficient for a binary compatible JNI
> clean-room implementation?
>
> So, is a DLL that is compiled using Japhar jni.h
> compatible for System.LoadLibrary use in Kaffe, or JDK?
>
> Further, if I wrote a native application that used
> dlopen/dlsym to retrieve the Invocation API from a
> VM DLL, and RegisterNatives as well as System.LoadLibrary,
> can I avoid linking to a particular Java implementation,
> and expect this to be ninary compatible to any JNI out?
> Or are there technical (or just legal) issues that rule
> this out? Has anybody had experience doing this?
>
> Thanks.
>
> b.
Hope that helps,
Angelo
P.S. I will check it out sometimes, but I have currently only the JDK
on my machine and no MS JVM (which claims to support JNI).
---------------------------------------------------------------------
Angelo Schneider OOAD/UML [EMAIL PROTECTED]
Putlitzstr. 24 Patterns/FrameWorks Fon: +49 721 9812465
76137 Karlsruhe C++/JAVA Fax: +49 721 9812467