ugnagブログ

たいした内容はありません。思いつきで書いているだけ。
開発日記がメインかな。

<< 暗号技術入門 | main | ゆっくりですが、、、 >>

JNI

JAVAでCDリッピングツールを作ろうとしているので、JNIを使う必要に迫られている。
まず、JNIとは何かを説明しておく。

JAVAから、ネイティブのC/C++のコードを呼ぶ、あるいはその逆のことをするための機構だ。

今回の、CDリッピングのように、JAVAだけでは不可能なプログラムを作るときには大活躍だ。


面倒なのかと思っていたら、意外と簡単にできる。

JAVAからCのコードを呼ぶ場合、

1.C/C++で処理させたいメソッドをnativeで宣言する。
2.JAVAコードのコンパイル
3.JAVAHコマンドで、C/C++用のヘッダーファイルを生成する。
4.そのヘッダーファイルの実装コードをC/C++で記述する。
5.C/C++のコードをコンパイルし、DLLにする。


以上でできあがり。


C/C++での処理は、文字列の扱いが多少面倒だがそれほど気にはならない。


ネイティブコード側で、javaオブジェクトを作って返すこともできる。


詳しくはドキュメントを参照のこと。


参考URL
Java Native Interface
JAVA | comments (0) | -

Comments

Comment Form

本文に書いて下さい
本文にh抜きで書いて下さい