友人が東芝のノート PC を買って、C 言語を始めやうとしている。おすすめのコンパイラーを聞かれたので、フリーの Cygwin に gcc が入っているよと答えた。せっかくなので、初めて Cygwin を使う人向けにインストール記事を書いてみる。
Cygwin とは
Cygwin とは、Linux のツール群を Windows に移植した、一種の環境を指す (そもそも Linux 自体が Linux カーネルとツール群から成り立っている)。公式ページの言葉を引くと
Cygwin is a Linux-like environment for Windows. It consists of two parts:
- A DLL (cygwin1.dll) which acts as a Linux API emulation layer providing substantial Linux API functionality.
- A collection of tools which provide Linux look and feel.
Cygwin は、Windows 向けの Linux 風環境である。Cygwin は二つのパートから構成されている: 一つは、DLL (cygwin dll) で、Linux API のエミュレーション・レイヤーのように働き、実質的な Linux API の機能を提供する。もう一つはツール群で、Linux のルック & フィールを提供する。
Cygwin Information and Installation より引用
となる。
昔は Cygwin がサポートしているツールの数も少なく、一つの単体ソフトとして提供されていた。インストラーをダブル・クリックするとツール群が全てインストールされていた。
けれど、サポートするツールの数が増えるに従って、全てのツールをインストールするのは非効率的になった。そこで、今の Cygwin はインストーラーからインストールするツールを選べるやうになっている。
Cygwin のインストール
まずは、Cygwin のインストーラーをダウンロードする。
上記ページから、「Install or update now!」リンクをクリックして、ダウンロード。
そしたら、インストーラーをダブル・クリックしてインストール開始。
「次へ」をクリック。
上から順に「ネットからインストール」「ローカルに保存 (インストール作業は行なわない)」「ローカルに保存したツールをインストール」。ネットの回線が細い時などは、インストール作業を「ローカルに保存」「保存したツールのインストール」といふ風に二回に分ける。普通は「ネットからインストール (デフォールト)」のままでよいでせう。
Cygwin のインストール先指定。デフォールトは「c:\cygwin」。D ドライブを持っているなら、「d:\cygwin」に変えてしまってもよいかも。
「Install For」と「Default Text File Type」は、初めのうちはいじらない方がいい。
インストールするツールを一時保存する場所。デフォールトは「c:\tmp」。特に理由がない限り、ここもいじる必要なし。
インターネットへの接続方法を指定。ここも、「Direct Connection (直接続)」のままでいい。
もし、大学や会社でインストールしようとしていて、ファイヤーウォールやプロキシの関係で Cygwin インストールに失敗するようなら、「Use IE5 Settings」を選ぶ。
ダウンロード元の指定。これは、日本のサイトを選びませう。サイトの最後が「.jp」になってるものを選ぶ。もし、ダウンロードが遅くてしょうがなければ、他のサイトを選び直す。海外のサイトさえ選ばなければ、それほど気にかける必要はない。
パッケージの選択。デフォールトは、minimum install (最小限のインストール) になっている。確か、このままだと gcc はインストールされなかったはず。「Devel」のカテゴリーをクリックして、「Default」から「Install」に変更する。
※ 「Editor」の項目の「Emacs」も「Install」すると幸せになれるかもしれない。
パッケージの依存関係を調べて不足分をインストールするかどうか聞いている。素直に「次へ」
するとインストールが始まる。あとはひたすら待つ。かなり時間がかかると思う。
インストールが終わったら、デスクトップにアイコンが出来る。
C 言語で Hello, World!
Cygwin がインストールされたら、C のソース・ファイルをコンパイルできるか試しませう。
サンプル・ファイルは以下の通り。
#include <stdio.h>
int main (void)
{
printf("Hello, World!\n");
return 0;
}
これを sample.c という名前をつけて、c:\cygwin\home\USERNAME 以下に置く。ここで USERNAME は、ウィンドウズのログイン・ユーザー名。
Cygwin を起動して、コンパイル。
$ gcc sample.c
コンパイルが通ったら、プログラムを実行。
$ ./a.exe
Hello, World!
「Hello, World!」と出たらおなぐさみ。