きどたかのブログ

いつか誰かがこのブログからトラブルを解決しますように。

JNIって難しい

さいきんこっちの日記を全然書いてなかった。


z/OSでも勉強するかーってところ。


その前にC/C++コンパイラがあるっていうので、
それが発覚した日からものづくりに取り組んでるわけです。


初めてのC/C++
しかもz/OS上で。
そんでもって初めてのJNI。
まあ気にしない。


面倒臭いのだが、viエディタで書いてる。
z/OSを独り占め中。
USS上で作業してるが、そんなに性能が良いようにも思えない。


意味不明なコンパイルエラーに悩まされたりもした。
(*env)->のように書けということか。
Expecting pointer to struct or unionと出る。


UnsatisfiedLinkErrorにもなった。
System.loadLibraryもやった、LIBPATHにも入れた。
どうも.soの作り方に問題があったようだ。
それを解決したのはどっかのRedbook。
JNIについて書いてあった。
確かこれだ。いやはや実に役に立ってくれたよ。


Java Stand-alone Applications on z/OS Volume II
http://www.redbooks.ibm.com/abstracts/sg247291.html


C/C++でHelloWorldやった。
JNIでもHelloWorldやった。


そして現在の悩み事は、JNIで渡した文字(数字)を
とある型にするんだが、文字コードの関係でうまくいってない。
iconvというのをやらないといけなさそうである。
__atoe()というのもあるみたいだけど、型が噛み合わない、効率的じゃないねぇ。


さて、どうやって性能測定するかも考えないとね。