In 1.2 symbols are found in a libraries associated with your class's
ClassLoader.  Meaning: if Foo.bar was a native method then the symbol
Java_Foo_bar is searched in the set of libraries loaded by Foo's
ClassLoader.  This was a bug fix that makes resilient field and method
ID caching in the presence of ClassLoaders.

If the symbols are in the a.out, you should be using RegisterNatives.

-Anand.

Costin Manolache <[EMAIL PROTECTED]> writes:

> Hi,
> 
> JDK1.2 works great on my RedHat, everything is great (except fonts).
> 
> My question:
> I use the invocation API to start a JVM from a C application.
> With JDK1.1.7/native threads it works great, and worked
> with JDK1.2 without any problems.
> 
> From the started VM I call some native methods. The methods are in
> the same "executable" program as the rest of the code - and worked
> in JDK1.1.7. In JDK1.2 it can't find the methods.
> 
> After I moved the native methods in a .so file and I used System.loadLibrary()
> everything worked fine. Still, I don't remember anything in the specs
> requiring that - is it a bug or a feature?
> 
> ( everything worked fine after that, I'm using JDK1.2 now )
> 
> Regards
> Costin
> 
> ( application = apache-apr, I wrote a small mod_java module, and I try
> to make it work with 1.2)
> 
> 
> ----------------------------------------------------------------------
> To UNSUBSCRIBE, email to [EMAIL PROTECTED]
> with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]


----------------------------------------------------------------------
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to