win32: Why exports of JNI_* symbols from _exe_ files

Ranjit Mathew rmathew@hotmail.com
Wed Aug 6 07:51:00 GMT 2003


Danny Smith wrote:
>>>Removing  __declspec(dllimport) from the declaration of foo in main.c fixes.
>>>Also, even if foo() does live in dll and has the __imp__ prefix, the 
>>>dllimport attribute is not necessary and the fixup will occur in the dll.
>>
>>Yes, but isn't there a performance penalty to this?
> 
> 
> One thunk from foo to __imp__foo in the dll.  How often
> are these functions called? If they were calls to some 
> math function in the inner loop of extensive matrix math, I
> might be concerned.  There is also a penalty for using the 
> attribute: the address of *_imp__foo is not a constant, so can't
> be used in file scope initializers

BTW, these functions are used to intialise and query
JVMs. So they are not called that often (probably only
once).

Ranjit.

-- 
Ranjit Mathew          Email: rmathew AT hotmail DOT com

Bangalore, INDIA.      Web: http://ranjitmathew.tripod.com/



More information about the Java mailing list