• ベストアンサー

コンパイラについて

C言語で書かれたアプリケーションを利用するにはCのコンパイラが必要ですよね。ということはどんなOSにもCなりJAVAなりのコンパイラが搭載されているのでしょうか?だとしたらなぜ自分で書いたプログラムをコンパイルするときにOSが利用しているコンパイラを使えないのでしょうか?

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

  • ベストアンサー
  • don_go
  • ベストアンサー率31% (336/1059)
回答No.11

UNIX/Linux/FreeBsd等のUNIX系のOSでは、異なる環境への 移植性を高める為に、ソースプログラムを公開して各環境 毎にコンパイルして実行モジュールを作成する事が一般的 に行われます。(商用プログラムを除く) その目的の為に、Cコンパイラが用意されています。

mamoko7
質問者

お礼

つまりOSによって機械語が違ってくるのでしょうか?

すると、全ての回答が全文表示されます。

その他の回答 (12)

  • dfksh
  • ベストアンサー率19% (64/323)
回答No.2

OSは、すでにコンパイルされているプログラムだからです。 コンパイルされたプログラムはコンパイラを必要としません。 コンパイラはただパソコンが認識できる言葉に変えるだけのものですから。

すると、全ての回答が全文表示されます。
noname#96023
noname#96023
回答No.1

必ずしも必要ではありません。 windowsなどは"コンパイル済み"のファイルが提供されているだけです。

すると、全ての回答が全文表示されます。

関連するQ&A