• ベストアンサー

CからJavaの呼び出し

Cを主体でプログラムを作りたいと思っています。 そこにXMLの読み込み処理を入れたいのですが、 その処理はJavaでしたほうが早いような気がしています。 ですのでCからJavaに処理を渡して結果を戻すということが出来ればいいなぁっと考えました。 そういったことはどのようにしたら出来るのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • xanadou
  • ベストアンサー率47% (10/21)
回答No.2

JavaにはJNIという仕組みがあります。 これは   「Javaから他言語プログラムを呼ぶ」   「他言語プログラムからをJava呼ぶ」 のどちらもできるものです。 ANo.1の方のやり方よりは多少敷居が高くなるかもしれませんが、スマートな実装にはなりそうな気がします。 「JNI Java C言語」あたりのキーワードでググってみてください。

参考URL:
http://homepage2.nifty.com/igat/igapyon/diary/2006/ig061108.html
nyororo-n
質問者

お礼

>JavaにはJNIという仕組みがあります。 こういったものが仕組みがあったのですね。 system関数でやるしかないのかな・・・、と思っていました。 JNIで一度試してみたいと思います。 ありがとうございました。

その他の回答 (1)

  • sunasearch
  • ベストアンサー率35% (632/1788)
回答No.1

・system関数でjavaのプログラムを起動させる。 ・javaのプログラムの入出力は、ファイルに書き出す形で行なう。 というのが、実装は楽だと思います。 ただ、ファイル入出力を行なうと時間がかかりますので、Cで処理を書いた方が速いようなきもします。 受け渡すデータの量や処理の流れによっては、パイプライン処理が用いられるかもしれません。

参考URL:
http://www.wakhok.ac.jp/~maruyama/Unix92/pipe/section2.1.6.html
nyororo-n
質問者

お礼

お早いお返事ありがとうございます。

関連するQ&A