JNI DLL Wrapper Method Name Java_blah or _Java_blah
I've got two JNI DLL wrappers built; one of them uses the prefix "Java_blahblah" for a method name and the other DLL uses the prefix of "_Java_blahblah"; note how the second one has an underscore in front of the "Java" prefix. In most of the examples that I've seen on the net, it looks like the "Java_blahblah" is sort of standard, I really haven't seen any with the underscore prefix. But (from java) I can only invoke the method on the DLL with the underscore in the method name. If I try to invoke the method on the DLL without the underscore in the method name, the DLL loads ok (via the System.loadLibrary command), but gives me an unsatisfied link error when trying to invoke the method. I've looked at the internals of the DLL using a DLL viewer and the names are identical in both except for that leading underscore on the method name in the DLL that I can get to work.
I can't figure out where the underscore came from in the first place (that DLL had been created by a third party) and further I can't figure out why or what decides whether an underscore is needed or not to export/define the method after the DLL is loaded.
Anyone have any idea what I'm talking about? Like I said, I can build the DLL and load it, but trying to invoke the method horks and I'm not sure if that prefixed underscore is significant.

