dumpbinがあって良かった
作成したJNIのルーチンが何故かUnsatisfiedLinkErrorが出る。いくつかのメソッドは呼べるのにいくつかは呼べない。なんでだろーと、えいやっと以下を叩いたら、
dumpbin /EXPORTS fooNative.dll
次のように出ました。
ordinal hint RVA name 1 0 00001340 _Java_foo_crypt_NativeRC4_encryptBytes@12 2 1 000011D0 _Java_foo_crypt_NativeRC4_init@12 3 2 000011C0 _java_foo_crypt_NativeBase64_decode@12 4 3 00001140 _java_foo_crypt_NativeBase64_encode@12
先頭小文字になっているじゃ〜ん。ようやく原因判明。ヘッダファイルには大文字で定義していたんだけどソースコードの方には先頭小文字で書いてしまっていた。orz
昔NTの頃にDLLの定義を見るGUIのツールがコンテキストメニューに入っていたけど、同じようなものがVC6にあったなんて今の今まで知りませんでした。