• ベストアンサー

UNIX CからのJAVA起動について。

いつもお世話になっております。 OS:UNIX、 言語:C言語で、JAVAで作成したクラスを引数を渡して起動したいのですが、やり方がわかりません。 実現可能なのかもよくわかりません。 UNIX開発は今回が初めてで困っております。 参考ソースや参考URLがありましたら、教えてください。 よろしくお願いいたします。

  • keyed
  • お礼率73% (17/23)

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

  • ベストアンサー
  • shige_70
  • ベストアンサー率17% (168/946)
回答No.1

そのクラスがJavaアプリケーションとして実装されているのであれば可能です。 C側からは、system()を使うか、 fork()とexeclp()等を使います。 とりあえず system() のほうが楽ですね。コマンドラインをそのまま書くだけですから。 たとえば、コマンドラインから java xxx.class aaa bbb とやるのと同じように起動したければ system("java xxx.class aaa bbb"); と書くだけですので。でもこっちは融通が利かないので、できればfork/execを使いましょう。 くわしくはmanで。。。と、unix初心者さんですか。manというコマンドはもう覚えましたか? まだでしたら、まずはこれを覚えましょう。とりあえず、man system とか、man -s 2 exec とかやってみてください。man man もね。

keyed
質問者

お礼

返事がたいへん遅くなり申し訳ございません。 とりあえずは、system()を使用してテストを行いましたところ、できました。 他に教えていただいた事でもやってみようと思います。 ありがとうございました。

関連するQ&A

  • JavaのクラスをCアプリケーションから起動。。?

    Javaにて、引数として渡されたURLに  接続するクラスを作成します。 それをCで作ったアプリケーションから、  URLを引数として渡し、起動させるようなものを  考えています。 この時、C言語からJavaで作った上記のようなクラスを  呼び出すにはどうしたらよいのでしょうか。 また、この場合のJavaの処理として、  指定URLに対して、GETではなく、POSTを行うには  どのようにすれば可能でしょうか。 具体的な方法、参考になる文献など、  ご存知の方、いらっしゃいましたら、ご教授願います。

    • ベストアンサー
    • Java
  • UNIX CプログラマがC++を学ぶには

    僕は今までUNIX上でC言語を使用し開発をしてきました。 しかし、次の仕事からマイクロソフトのVisualStudioのC++で開発するようになったのですが、 全くクラスの考えかたとか、C++の関数がわかりません。 自分のような今までUNIX Cを使用していた人間が、C++を学ぶに最適な 本があったらご紹介ください。

  • JAVAでC/C++の条件コンパイルのようなことはできないでしょうか?

    JAVAでC/C++の条件コンパイルのようなことはできないでしょうか? 実行時に判断するのじゃなくて、 コンパイル時に判断するやり方ないですか? 開発ツール等の環境設定でやるとかじゃなくて・・。 C/C++の条件コンパイルのように、 ソースコーディングすることで、行うやり方。 (たとえば) もし、JDK1.4よりもバージョンがひくければ、 JDK1.3以前でも、存在するクラスを使って メイクする。 その代わりすごいおそーいけどね・・・。 もし、JDK1.4以上であれば とても、パフォーマンスのよいクラスを使った コードをメイクする。 その代わりこれは1.4以上でないと コンパイルできないけどね。 みたいな感じで、 実行時じゃなくて、 コンパイル時にソースコード で条件分岐させてしまうやりかたないですかぁ。 (ないだろうなぁ。) args[0]で起動時の引数で 実行時判断させようとしても、 そもそも、1.4からでてきたクラスとかだと 1.3ではコンパイルすらできない あと、 できれば、したい実現したい機能だけど、 それをするには1.4から登場した クラスを使わなければできないので、 1.3ではあきらめてもらい(そういう仕様にしてもらって) しないようにしようと思ったとする。 そして、 その処理が入ってない1.3版と、 その処理が入ってると1.4版とで、 その差分のせいで、 ソースのバージョンを2種類設ける ということを絶対にやりたくない時とか。 どうするんだろう・・。

    • ベストアンサー
    • Java
  • windows上のeclipse開発環境からlinux上のjavaを動かすには

    いつもお世話になっております。 linux上でしか動かない一部C言語が使われているjavaの部品があります。 こちらをwindwosの開発環境から呼び出すしたいのですが、何か方法はありますでしょうか。 C言語の部品は他の業者が開発しており、windowsで動くようにしてもらうのは難しいです。 javaの部品は引数String型、戻り値String型になっています。 こちらをリモートで起動する事が出来ますでしょうか。 よろしくお願いします。

    • ベストアンサー
    • Java
  • Cで作られたDDLをJAVAで

    初歩的な質問で申し訳ないです。 現在配属しているプロジェクトでは、サブシステムが2つに分かれており、C言語で開発されたシステムとJAVAで開発されたシステムに分かれております。(業務が違いシステム的にも関連はありません) しかし、共通で使えそうな計算ロジックをコーディングしたDDLがC言語のシステムの方にあり、JAVA側でそれを使いまわしできないか?と言うことを言われました。 ネットで調べた所、JNIという技術を用いて可能かも?とは思ったものの、ネットの内容を見ると、JNIの説明の所に載っているC言語のソースにはJNI用に組まれたような(JAVAで用いる事を想定されて作られているかのような)ロジックがあるため、 結局既存のDDLは使えなく、JAVA用に作成しなおさないといけないのかな? とも思いました。 そこで質問ですが、もともとC言語のシステム内で使うことを想定されたDDLをJAVA側のシステムで使う場合、JAVA用に再作成せずに使うことは可能なのでしょうか? 初歩的な質問で申し訳ありませんが、知っていたら教えて頂きます様、宜しくお願い致します。

  • デスクトップでJAVAを起動させたい

    JAVAの勉強を先日始めたばかりです。 秀丸でコーディングをし、JDKでコンパイルしてクラスを作成しました。 そのクラスを3つの端末のデスクトップにコピーしてHTMLから起動しようとしましたが、上手く動くケースと動かないケースがあるんです。 これらの違いは何なのでしょうか。 また、諸事情により端末1で開発を行いたいのですが、 このような環境でJavaをHTMLから起動することは可能なのでしょうか。 ご存知の方、ぜひ教えて下さい。お願い致します。 ちなみにクラスは端末1で作成しました。 ●端末1 →動かない 環境  OS:WINDOWS95 IEのバージョン5.0 JAVA開発の為にインストールしたものは JDKのみ。 ●端末2の環境 →動く 環境 OS:WINDOWS XP IEのバージョン6.0 JAVA開発の為にインストールしたものは JDKとeclipse。 ●端末3環境 →動かない 環境 OS:WINDOWS XP IEのバージョン6.0 JAVA開発の為に何もインストールしてません。 ソースは以下のような感じです。 ●HTML <html> <head> <title>test1</title> </head> <body> <hr> <applet code="test1.class" width=300 height=100> </applet> <hr> </body> </html> ●JAVA import java.applet.*; import java.awt.*; public class test1 extends Applet{ public void paint(Graphics g){ g.drawString("hello java!!",10,10); } }

  • UNIX上でのJAVA開発の仕事

    現在UNIX上でのJAVA開発の仕事を募集しています。 しかし私自身実務経験がなくてなかなか難しい状況にあります。 他の言語(WIN上でのVBやASP)の開発経験はあります。 SQLにも自信があります。 まったくの未経験よりは良いと思います。 何か良い方法知っている方いましたら教えて頂きたいです。

  • c言語やjavaのソースを読みたいのですが

    c言語やjavaのソースを読みたいのですが ゲームやアプリのプログラムを公開しているサイトを御存知でしたら 教えてください。言語の開発環境は、VC++・vc#・Eclipse・visualBasic(2005)です。

  • JavaとCはどちらが速い?

    質問タイトルどおりですが、JavaとC言語ではどちらが 速いでしょうか? プログラムを作成しようと考えているのですが、 解析のスピードを重視するプログラムを作成するので JavaとCでどちらのほうが速いかによって、どちらの 言語でプログラミングしようか迷っています。

  • ターゲットがUNIXなんですが、Windowsで開発をするには?

    UNIXでC言語を使用してXwindowアプリを開発しているのですが、 効率があまり良くないので、Windowsの統合環境で開発できないかと考えています。 実現するヒントとか、すでに構築済みという方がいらっしゃいましたらご教授願えますでしょうか? UNIXマシンのスペックがそんなに高くなく(Pentium3 600MHz/RAM256MB)、 またOSがEclipseなどもサポートしていないので仕方がなく、viとEmacsで開発しています。 コンパイラはgcc、デバッガはgdbを使用しています。 作成しているのはコンソールアプリではなく、Xwindowのアプリです。 理想はWindows上で、Eclipseのような統合環境上でソースを編集し(ソースはUNIXマシンからSambaで参照)、 リモートでビルドを行い、Windows側でブレークを貼りデバッグできればとても快適です。 ちなみにWindowsマシンのスペックは悪くないです。 Pentium4 2.4GHz/RAM512MB です。

専門家に質問してみよう