ひしだまの変更履歴

ひしだまHPの更新履歴。
主にTRPGリプレイの元ネタ集、プログラミング技術メモと自作ソフト、好きなゲームや音楽です。

意外と色々できるJNI

2006-06-18 22:24:01 | PG(Java)

JNI(Java Native Interface)。Javaからマシンネイティブ(機種依存)なライブラリを呼べる。と言っても、明らかにC言語とC++しか対象にしてないけど…。

Cで作ったライブラリを呼びたかっただけなんだけど、調べていると面白くて、色々深入りしてしまった。

メソッド呼び出しやフィールド参照・更新は、リフレクションの仕組みがあればこそ。
でもかなり面倒だけど(爆)
まぁわざわざCやC++からJavaのオブジェクトをバリバリ参照したり更新したりするな、ということでしょう。

例外処理まで出来るとは思わなかったな。さすがにthrowして自動的に呼び出し元まで戻ってくれはしないみたいだけど(苦笑)
例外が発生したらほとんどのJNI関数の呼び出しが失敗するようになるなんて、重要な話だよね。あまり例外なんか意識しないと思うから、余計に。

うわ、川口PK止めたよ。すげー。