• ベストアンサー

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

  • JavaからXMLプロセッサを使うとは?

    JavaでXMLを処理する必要に駆られまして、一念発起して勉強しています。 XMLを処理するためには、JavaのAPIがあってそれを利用するというのはokで、処理方法にはDOM・SAX・XSLTといったものがあるというのもわかりました。 ただ、DOMやSAXが、Javaプログラムからデータを読む手助けをするためのモノというのはわかるのですが、XSLTはただの変換とどう違うのでしょうか? 本を読む限り、XSLの規則にしたがって変換するもの。となっていて、読み込ませる→変換結果が出てくる、で、なんだかHTMLの生成くらいにしか使えないような印象なのですが、Javaとタッグを組んでデータを処理させたい場合、どんな使われ方をするのでしょうか。 DOMやSAXでも良いじゃんと言われそうなのですが、HTMLも同時に扱う必要があるため、ぜひ習得したいのです。 ですが、市販のJava本はほとんどXMLパーサ関係ばかりで・・・。また、何かいい参考書もあったら教えていただきたいと思います。

    • ベストアンサー
    • Java
  • 何故Javaではなく、C/C++なのか

    C++とJavaならJavaのほうがわかりやすくて好きという人が多いと聞きましたが、では何故、世の中の多くのソフトウェア、システムはCで書かれてるんですか?

  • 【Cか】ノベルゲーム【Javaか】

    情報工学科(進学予定)の大学1年生で、専門的なことはまだやっていません。 1年のうちに趣味と学業をかねてプログラムを少しやっておこうと思い、 ビジュアルノベル系のゲームが好き、フォトショップなども使えることから ノベルゲームを1から作ろうと前々から思っていました。 ですが、どの言語にするかきっちり定まらず、結果CとJavaの入門書を終えた段階にいます。 要はどっちつかずな状態です。 ちなみにプログラムのお勉強という意味合いも含め、NScripterなどは使うつもりはありません。 ――初めはCをやっていたのですがCでGUIを扱うにはWin32API?なるものが必要だと知り、そして Javaだと比較的簡単に扱えると知って、Javaをはじめ、 しかし今振り返ってみてCとJava、どちらにするか絞りきれません。 なにかアドバイスいただけたらと思います。 よろしくお願いいたします。

  • C#で作ったライブラリをJavaで呼び出したい

    JavaからC#のプログラムにファイルパスを渡し処理させて、戻り値を返す。 ということをやりたいのですが、JavaとC#の連携方法については全くの素人で困っています 助けてください

    • ベストアンサー
    • Java
  • JAVAで大丈夫?

    学校でJAVAを習っていて、だいぶプログラムも組めるようになってきたのですが、最近ほかの質問などを見ていてJAVAだけで大丈夫なのかと思うようになってきました。学校の教授は「これからはJAVAだ。」と言っていますがやはりJAVAだけでなくC言語やC++もやったほうがよいのでしょうか? ちなみに将来はプログラマーになりたいと思っています。意見を聞かせてください。よろしくお願いします。

    • ベストアンサー
    • Java
  • JavaプログラムをC++へ変換したい

    JavaプログラムをC++とC言語に変換したいのですが変換ツールなどはありますか? ... JavaプログラムをC++とC言語に変換したいのですが 変換ツールなどはありますか? ご存知の方教えてください。 よろしくお願い致します。 下記の2つを試みたのですが、設定方法がわからずにできませんでした わる方いましたら、努力しろといわれるかもしれませんが解説お願いします。 Toba: A Java-to-C Translator http://www.cs.arizona.edu/projects/sumatra/toba/ Janus http://www.java-conf.gr.jp/event/grandprix/97/sakuhin/T/TI3970/

  • CをJavaに変換

     プログラミング初心者です C言語どうしのソケットプログラムのServer側をJava言語に書き換えC言語(Windows版)とJava言語での通信プログラムを行おうとしています。  C言語の最初の宣言で #include <stdio.h> #include <winsock2.h> #include <ws2tcpip.h> のところはJavaではどのように書き換えればいいのでしょうか? ご返答お願いします。

    • ベストアンサー
    • Java
  • javaとC#の選択について

    現在C/C++を学んでいます。 来年度の選択でjavaを前期にするか、C#を前期にするかを考えています。 2013年に学校を卒業予定です。 求人を見ているとjavaの方が多い気がしましたが、どちらから学んでおいた方がいいでしょうか?

  • PHPでjavaの呼び出し

    PHPのプログラム上でjavaを呼び出したいと思っています。 system()を用いて以下のようにしましたが javaで出力されるものが表示されません。 $system = "java HelloWorld"; $a = system($system); echo $a; javaはEclipseで作成しています。 類似した質問もありましたが少々理解が難しかったため 質問させていただきました。 初歩的な質問かと思いますが ご回答宜しくお願いします。

    • 締切済み
    • PHP
  • JAVA と C について

    これから JAVA の勉強を始めようかと 考えています. C は昔からやっています. JAVA と C を比べたときの 長所,短所を教えてもらえませんか? プログラミングの使用は グラフィカルなシミュレーションを 行いたいと考えています. ちなみに C では OpenGL を使っています. JAVA も OpenGL が使えるんですよね? OS は Windows も Linux も使います.