トップ 一覧 検索 ヘルプ RSS ログイン

C言語などの場合の変更点

  • 追加された行はこのように表示されます。
  • 削除された行はこのように表示されます。
!!! 第一章 Java プログラミングの基礎

!! 1-1. Java とは

! プログラムが動くまで

次に、プログラムが動くまでを見てみましょう。あなたが何かプログラムを書いたとして、それをコンピュータ上で走らせるためにはどのような手順を踏むことになるでしょうか。

■ '''C言語などの場合'''

たとえばあなたがC言語でなにかプログラムを書いたとします。“Hello, World!!" と画面に表示させるためのプログラムが有名です。

 1.#include <stdio.h>
 2.
 3.main(){
 4.    printf("Hello, World!!");
 5.}
{{pre num
#include <stdio.h>

main(){
    printf("Hello, World!!");
}
}}

これはコンピュータの画面に “Hello, World!!" と文字を出力して終了するだけのプログラムです。しかし、ただこう書いただけでは、コンピュータに文字を出力させることはできません。このままではC言語の書式であって、コンピュータの理解できる言葉になっていないからです。

そこで私たちはC言語の書式で書いた、プログラムを記述したファイル(これをソースファイルといいます)を、コンピュータ語で書かれた実行可能なファイルに変換してやります。この変換作業のことを「コンパイル」といいます。また変換作業を行ってくれるプログラムのことを「コンパイラ」と呼びます。

上のプログラムを gcc  (GNU C Compiler の略)というコンパイラでコンパイルしてできた、実行プログラムの中身を見てみましょう。(図3)

{{ref_image fig003.png}}
'''図3''' C言語プログラムのコンパイル結果を、バイナリエディタで見る

先ほどのソースファイルが、コンパイルすることによって、このような実行ファイルに変換されたわけです。この実行ファイルはコンピュータが理解できる形式なので、実行してやれば画面に”Hello, World" と表示されます。

つまり、C言語の場合は次のような手順を踏みます。(図4)

{{ref_image fig004.png}}
'''図4''' C言語の実行可能ファイルができるまで

コンパイラによって機械語に変換してしまえば、すぐにコンピュータ上で動かすことができ、しかも後述する手段に比べて高速に走らせることができます。ただし、コンパイル後はコンパイルしたコンピュータ専用の実行ファイルになってしまうので、他のマシンやOSなどで走らせることができません。これがこの方式のデメリットです。

''メリット''
* 実行速度が速い。
* マシンの特性を活かしたプログラムが作れる。

''デメリット''
* コンパイルの手間が面倒。
* 実行ファイルはマシン・OSに依存する