ディレクトリーの操作ができるようになったので,次はプログラムを作成と実行の練習を
行う.まず,初心者が最初に作るものとして,最も有名な'Hello World'というプログラ
ムをつくる.
- ターミナルの起動
- ターミナル(端末)のアイコンをクリックして,ターミナルを立ち上げる.
- 作業ディレクトリーの作成と移動
- 「mkdir hello」とタイプして,作業用ディレクトリーhello
を作る.
- 作業用ディレクトリーができているか,「ls」コマンドで確認する.
すると「hello」が表示される.
- 「cd hello」とタイプして,作業用ディレクトリーに移動する.
- 「pwd」コマンドで,作業用ディレクトリーに移れたことを確認する.
- エディターの起動
- 「emacs hello_world.c&」とタイプする.
- すると,プログラムのソースを書くウインドウが現れる.
- プログラムの記述
- プログラムの保管
- プログラムを書き終わったならば,[file]メニューの[Save(current
buffer)] を選択する.あるいは,フロッピーディスクアイコンをクリック
して,ソースファイルを保管する.
- ターミナル上で「ls」コマンドを打ち,ソースファイルが保管さ
れていることを確認する.
- コンパイル
- ターミナル上で「gcc -o aisatsu hello_world.c」と打ち込み,
先ほど作成したソースファイルをコンパイルする.
- もし,コンパイルエラーが発生したら,ソースファイルを修正
する.
- 実行ファイルができているか,「ls」コマンドで確認する.
- 実行
- ターミナル上で「./aisatsu」と打ち込み,プログラムを実行させる.
- 'Hello World'と表示されれば,プログラムは動作は完璧である.
以上のプログラム作成の手順をまとめると,図3のようなフローになる.
プログラムを作成する場合,コンパイル
5(
gccコマンド)という不思議なステップがある.このステップについ
て簡単に説明しておく.
一般に,コンパイルというと,ソースファイル(ここではC言語)から実行ファイルを作る動作の
ことを指す.ターミナル上で,
gcc -o 実行ファイル名 ソースファイル名
とタイプすれば,ソースファイルから実行ファイルができあがる.エラーが無ければちゃんと
実行可能なファイルが作成され,「
./実行ファイル名」とタイプすればプログラム
ムが実行できる.
さて,この動作がなぜ必要なのであろうか? 諸君が学習しているC言語のソースファイル
の内容は人間が理解できるが,コンピューターは理解できない.そのため,人間が理解で
きる言葉からコンピューターが理解可能な言葉に翻訳が必要で,コンパイルとはそのため
に必要なのである.要するに,プログラミング言語(ここではC言語)を機械語に翻訳して
いるのである.
以上の説明で大体良いが,正確には,機械語に翻訳するためには,コンパイルとリンクと
言う作業が必要である.それらの作業は,コンパイラーとリンカーが受け持っており,コ
マンド「gcc」の作業は,図4のようになっている.通常,
コンパイルと言っているが,実際にはコンパイルとリンクを行っている.
余談ではあるが,オプションの「-o」を付けない,すなわち実行ファイル名無しで
「gcc」を動作させた場合,「a.out」という実行ファイルができあがる.こ
れも実行可能で,「./a.out」と打ち込めば,プログラムが動く.こ
の a は,assembler out の略らしいが,実際には linker out である.
- [練習1]
- 以下のようにプログラムを作成せよ.
- ログインディレクトリーにサブディレクトリーを
frenchを作り,その中にbonjour.cという
ソースファイルを作成する.
- hello.cを参考に,"Bonjour monde !!"と表示するプロ
グラムを作る.ただし,ダブルォーテションは表示させる必
要はない.
- コンパイルして,実行させよ.ただし,実行ファイル名は,
ofuransuとする.
- [練習2]
- 次のようにプログラムを作成せよ.
- ログインディレクトリーにサブディレクトリーをeuro
を作り,その中にmulti.cというソースファイルを作成
する.
- hello.cを参考に,
Hello world !!
Bonjour monde !!
Guten Tag welt !!
と表示するプログラムを作る.
- コンパイルして,実行させよ.ただし,実行ファイル名は,
hogehogeとする.
ホームページ:
Yamamoto's laboratory著者:
山本昌志
Yamamoto Masashi
平成19年4月10日