JNI(Java Native Interface)。Javaからマシンネイティブ(機種依存)なライブラリを呼べる。と言っても、明らかにC言語とC++しか対象にしてないけど…。
Cで作ったライブラリを呼びたかっただけなんだけど、調べていると面白くて、色々深入りしてしまった。
メソッド呼び出しやフィールド参照・更新は、リフレクションの仕組みがあればこそ。
でもかなり面倒だけど(爆)
まぁわざわざCやC++からJavaのオブジェクトをバリバリ参照したり更新したりするな、ということでしょう。
例外処理まで出来るとは思わなかったな。さすがにthrowして自動的に呼び出し元まで戻ってくれはしないみたいだけど(苦笑)
例外が発生したらほとんどのJNI関数の呼び出しが失敗するようになるなんて、重要な話だよね。あまり例外なんか意識しないと思うから、余計に。
うわ、川口PK止めたよ。すげー。