• ベストアンサー

コンパイルが何なのか分かりません

今、c言語でプログラムを作っているのですが、コンパイラプログラムとは何なのか分かりません。誰か教えてください。

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

  • ベストアンサー
  • MOMON12345
  • ベストアンサー率32% (1125/3490)
回答No.2

例えば a += 1 と書いたとしても、それをCPUが理解できるわけではありません。 CPU的には、 A ← 1 アキュムレータに1を入れて inc A  アキュムレータをインクリメントする みたいになり、更にコイツを機械語(マシン語)と呼ばれる16進のの数字列になおしたものを作ります。 この作業を行うのがコンパイラの役目です。 CPUが複数命令実行可能ならばそれに最適化したコードをはき出すようなコンパイラが賢いコンパイラで、同じソースコードでも異なるコンパイラを使うとコードサイズも実行速度にも違いが出ます。

razison
質問者

お礼

アドバイスありがとうございます。 自分はまだ、プログラムを作るのがはじめてなんで・・・ 慣れるよう頑張ります!

その他の回答 (2)

  • hana-hana3
  • ベストアンサー率31% (4940/15541)
回答No.3

ソースコードからマシン語(もしくは中間コード)に変換する事です。 つまり、実行可能なプログラムファイルを作成すること。

razison
質問者

お礼

ありがとうございます!

  • nemoax006
  • ベストアンサー率14% (343/2433)
回答No.1

コンパイラはソースから実行環境を作るプログラムです

razison
質問者

お礼

そうでしたか、ありがとうございます!!

関連するQ&A