• 締切済み

JavaでCプログラムをコンパイルするには

linux環境で、javaによって別に作ってあるCのプログラムをコンパイルしたいのですが、execを使用して、 Runtime.getRuntime().exec("cc sample.c"); とするとコンパイルできません。 恐らくコマンドプロンプトなどを起動して指定してやればできると思うのですが、現在linux環境にないのでわかりません。 gnome-terminalかなにかだったような気がするのですが・・・。 どなたか教えていただければ幸いです。

  • Java
  • 回答数1
  • ありがとう数0

みんなの回答

  • salsberry
  • ベストアンサー率69% (495/711)
回答No.1

Linux上で問題なく実行、Cコンパイルできますよ。わざわざterminalを起動する必要はありません。 「コンパイルできません」というのはどうやって確認しましたか? exec()が生成するProcessの終了コードはどうなっていますか? また、Javaを使わずにterminalから直接 cc sample.c を実行したらコンパイルは成功するのですか?

関連するQ&A

  • JavaソースコードをコンパイルするJavaプログラム

    タイトルの通りですが、Javaソースコードをコンパイルし、実行するJavaプログラムを作りたいのですが、なにか有効な方法はありますでしょうか。 Runtime.getRuntime().exec( "javac Test.java" ); のようにすると、エラーになります。 なにか良い方法をご存知でしたら、よろしくお願いします。

    • ベストアンサー
    • Java
  • javaプログラムがコンパイルできない

    javaの勉強を始めようと思い、環境を作ってみました。 しかし、記念すべき第一作目のプログラムがコンパイルできなく、困っています;; 初心者で、説明もうまくないと思うので、補足要求をしていただければ幸いです。 【状況】 ・JDK6をダウンロード・インストールしました。 ・保存先は「C:\Program Files\Java\jdk1.6.0_14」です。 (この保存先は正しいのでしょうか。普通の人はどこに保存するのでしょうか。) ・コントロールパネル>システム>詳細設定>環境変数で、ユーザ環境変数で、 変数:PATH、値:C:\Program Files\Java\jdk1.6.0_14\bin を新規作成してみました。 ・サンプルプログラムを「C:\Program Files\Java」に保存しました。 (この保存先は正しいのでしょうか。普通の人はどこに保存するのでしょうか。) ・コマンドプロンプトでディレクトリを「C:\Program Files\Java」にして、「javac "(サンプルコードのファイル名)"」と実行しました。 ・「内部コマンドまたは外部コマンド、操作可能なプログラムまたはバッチファイルとして認識されていません」 と言われてしましました。 お忙しいところ恐縮ですが、助けていただけると嬉しいです。 よろしくお願いします。

    • ベストアンサー
    • Java
  • Java getRuntime().exec() でのパイプ利用に関して。

    はじめまして。 JavaのgetRuntime().execでコマンドプロンプトを動かそうと思っております。 コマンドプロンプトで「netstat -an | find "***"」というコマンドをJavaから実行したいと思っています。 しかし、Javaではパイプ(=|)を利用したコマンドは実行できない。 ということを検索してたどり着きました。 例などでは、「シェル」を利用しろ。などとかかれていましたが何をどうすればいいかわかりません。 String[] s = {"netstat","-an"}; Process process = Runtime.getRuntime().exec(s); 今は上記の状態で「netstat -an」が実行されています。 どうすれば「find "***"」で***の検索をかけることができるでしょうか? どうぞ、よろしくお願いいたします。

    • ベストアンサー
    • Java
  • Javaでコンパイルができません。

    Javaでコンパイルができません。 コマンドプロンプトで操作しています。 コマンドプロンプトでjavacと打つと… 'javac'は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチファイルとして認識されていません。 このように表示されてしまいます。 私にはなぜコンパイルができないのか分かりません。 分かる方がいたら、ぜひ教えてください。 よろしくお願いします。

    • ベストアンサー
    • Java
  • java  コンパイルできない

    os:WindowsXP pro jdkをインストールし メモ帳でsample.javaという名前の サンプルファイルを作り コマンドプロントで javac sample.javaと入力し コンパイルしたのですが エラー:sample.javaが読み込めません エラー 1個 と出力され、コンパイルできませんでした。 過去ログを拝見したところ、 フォルダオプションの設定で、拡張子を表示し javaファイルか確認をする ということでしたので、拡張子の表示をし、 javaのソースファイルであることは確認しました。 ただ、画面に表示されているファイルはJ#になっています。 visualbasicをインストールしているため、 javaファイルはJ#になってしまうようです。 環境変数のpathはC:\Program Files\Java\jdk1.5.0\binに設定しました。 コンパイルできるようにするために どうかご教授していただければ幸いです。 よろしくお願いします。

    • ベストアンサー
    • Java
  • javaのコンパイルについて

    java初心者なのですがコンパイルができません! コマンドプロンプトでjavac Hello.javaと入力すると、内部コマンドまたは外部コマンド、操作可能なプログラムまたはパッチファイルとして認識させていません、とでてきて実行できません。 環境変数でパスの設定をしてたのですが何回も見直しても間違ってないのに、コマンドプロンプトで  [Path]\javac.exe-help  と入力すると指定されたパスは見つかりませんと出てきます。 ちなみに環境変数のところには行末に、 ;C:\Program Files\Java\jdk1.6.0_07\bin と入力しました。 何が問題なのでしょうか??ちなみに,version 6 update 7 です。 わかる方是非返答お願いします!!

  • Javaのコンパイルがうまくいきません

    SunからJavaをインストールしたあと、購入した本の手順に指示に従って出力しようと試みているのですが、コマンドプロンプトでプログラムを保存しているフォルダまで移動したあと、javac Hello.javaと入力してエンターキーを押してコンパイルしようとしたら、’javac’は、内部コマンドまたは外部コマンド、操作可能なプログラムまたはバッチ ファイルとしても認識されていません。というメッセージが現れて、次へ進めません。(メモ帳にプログラムは書いて、Cドライブに保存しています。)よろしくお願いします。

  • Linuxで、標準Cライブラリが読み込まれず、C言語プログラミングができません・・・

    僕の問題はタイトルの通りで、標準Cライブラリが読み込まれていないようで、C言語プログラミングができません。 ubuntuのオフィシャルから日本語ローカライズドDesktopCDをダウンロードして、空のHDDにインストールしました。 ですが、gnome-terminalからccコマンドでプログラムをコンパイルしても、標準Cライブラリにあるはずの<stdio.h>が認識されず、続くprinft関数も読んでくれません。 これはどうしてでしょうか?LinuxはデフォルトでCやらJAVAやらのプログラミングの環境が整っているものだと思っていたので、戸惑っています。何か、セットアップが必要なのでしょうか。 ちなみに、gccでも、標準ライブラリは読み込まれませんでした。

  • Javaのインストール、コンパイルについて

    WindouwsXPにjavaをインストールし(バージョンは1.4.2_04)パスの設定も環境変数の「システム変数の編集」で(変数名:Path、変数値:C:WIN・・・の後ろに;C\j2sdk1.4.2\binを追加)しました。インストールはされたのですが、メモ帳でプログラムを作り、ファイル名の後ろを「.java」に保存し、コマンドプロンプトでコンパイルをしたのですが、「’javacは内部コマンドまたは外部コマンド、操作可能なプログラムまたはバッチファイルとして認識されていません。」とでてしまいます。初心者なもので、どのように対処すればよいか分かりません。どなたか対処法を教えていただければありがたいです。

    • ベストアンサー
    • Java
  • Java 環境 コンパイルできない

    本に付属していたJDK5.0をインストールし 環境変数を設定しました。 %SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;c:\Program Files\Microsoft SQL Server\90\Tools\binn\;C:\Program Files\Microsoft SQL Server\80\Tools\Binn\;C:Program Files\Java\jdk1.5.0\bin コマンドプロントにて、Example1.javaという、サンプルファイルを javac Exsample.java と打ち込みコンパイルしてみたのですが 'javacは、内部または外部コマンド、 操作可能なプログラムまたはバッチファイルとして 認識されません。となりコンパイルできません。 visual studioをしようすることになり javaファイルがVJ#になっているのも、何か関係しているのでしょうか? なにが原因なのかわからないので、 ご教授いただければ幸いです。