筆者もまだプログラミングの経験は浅く、勉強がてらこの記事を書いています。C言語はUnix系システムを開発するために作られたと言われていますが、様々な機能や組みやすさから、Windowsでも使われています。筆者はC言語は、プログラミングの考え方やメモリの管理を学ぶには非常に適した言語だと考えており、他のプログラミング言語へも比較的容易に入っていけることから、最初に基礎を学ぶプログラミング言語としては非常に優秀です。
■コンパイルとコンパイラ
C言語は人間が理解しやすいようにプログラミング言語を表現(定義)した高級言語です。しかし、このままではコンピュータは理解できないため、コンピュータが理解できるように変換する必要があります。この変換のことをコンパイルと呼び、コンパイルを行うソフトウェアをコンパイラと呼びます。
C言語のコンパイラにはUnixやLinuxで多く使われるgcc、米Borland社の提供しているBorland C++ Compiler、Windowsのアプリケーションを作成するためのVC++コンパイラなどがあります。本記事ではgccを利用しますが、コンパイラに依存した説明はしません。またOSにはWindows、gccコンパイラの環境としてUnix仮想環境のCygwinを利用します。Linuxを利用されるのであれば、Cygwinのインストールは不要です。
■環境構築
Windowsはすでに導入されているとします。またOSのバージョンまではサポートできません。
Cygwinは執筆時は無償で提供されるUnixの仮想実行環境です。WindowsでUnixのコマンドを実行することができ、またファイルの共有ができます。WebやDBサーバのインストールも可能です。
インストールは、CygwinのWebサイト(http://cygwin.com/)からインストールファイル(setup.exe)をダウンロードし、インターネット経由でインストールを行います。インストールする際にインストールするパッケージ(ソフトやドキュメント)を選択できますが、今回はgccを利用するので、gccコンパイラもインストールする必要があります。フルパッケージでもよいですが、インストールに時間がかかる点、またセキュリティソフトのスキャンが長くなるのでおススメしません。インストールの手順は以下を参照してください。インストール構成によっては数時間かかる場合もあるので注意してください。
インストール方法を選びます。ここではインターネット経由でインストールを行うため、「Install from Internet」のまま「次へ」ボタンをクリックします。
インストール先とインストールユーザ(全員(All Users)or自分(Just Me)だけ)を選択します。初期設定が異なるだけで自分だけに選択しても利用はできます。
インターネット経由のインストール時のパッケージのダウンロード先を選択します。デフォルトはデスクトップです。
接続方法を設定します。プロキシサーバを経由している場合、IEの設定を利用するか、もしくは手動で設定します。家では通常は利用されていないと思うので、「Direct Connection」のまま「次へ」をクッリクします。
パッケージのダウンロード元のサーバを選択します。日本のJPドメインのサーバ、ここではjaist.ac.jp(北陸先端科学技術大学院大学)を選択します。
インストールパッケージを選択します。gccをインストールするため「Devel」のツリーを展開します。
gccを選択し、インストールするよう変更します。選択すると必要なパッケージも自動的に選択されます。
必要なパッケージが足りないからインストールしますと問われます。問題ないので何も変更せずに「次へ」をクリックします。(画像がおかしくすみません)
ダウンロードとインストールが開始されます。場合によっては数時間待ちます。
インストールが完了するCygwinの起動のためのショートカットアイコンがデスクトップに表示されます。クリックして起動してみましょう。文字が表示されると思いますが、これはWindowsのエクスプローラと同じことです。Windowsではエクスプローラ上でマウスでクリックして、フォルダを移動しますが、Cygwinではコマンドを実行し、フォルダを移動します。ちなみにWindowsではフォルダといいますが、Unix系のOSではディレクトリと呼びます。なお本記事でも以後はディレクトリと呼ぶことにします。
起動した最初は、Cygwinの中のhomeディレクトリにいます。Windowsではマウスをクリックし、ディレクトリを移動しますが、Cygwinではcdというコマンドを実行し、移動します。
試しにCドライブの直下に移動してみましょう。
cd /cygdrive/c
cd c:
上のどちらのコマンドでもCドライブの直下に移動できます。Cドライブの特定のディレクトリに移動する場合はドライブを移動した後に「cd ディレクトリパス」と実行します。なおコマンドを実行するためにはコマンドを書いた後にEnterキーを押します。
細かいコマンドの説明は以下のサイトを参考にしてください。
http://x68000.q-e-d.net/~68user/unix/genre.html
■C言語の拡張子 .c
C言語では拡張子に「.c」や「.h」を利用します。Windowsのフォルダオプションで拡張子を表示する設定にしておいてください。
■エディタ
自分の使いやすいものを利用してください。TeraPadやサクラエディタはC言語に対応しています。
■プログラムを実行する
環境設定が正しく出来ていることを確認するためにも以下のプログラムを実行してみます。以下のプログラムをc1_1.cという名前でファイルに保存します。このとき.txtと付けないように注意しましょう。
//文字を出力する c1_1.c #include<stdio.h> int main(void){ printf("C言語1-1:C言語を組む前に!\n"); return 0; }
保存したらCygwin上でファイルを保存した位置まで移動します。移動したらコンパイルコマンドを実行し、コンパイルを行ない、exeファイルを作成します。exeファイルが作成できたら実行してみます。
$ export LANG=ja_JP.SJIS ←日本語環境の設定 $ cat c1_1.c ←ファイルの内容出力 //文字を出力する c1_1.c #include<stdio.h> int main(void){ printf("C言語1-1:C言語を組む前に!\n"); return 0; } $ gcc c1_1.c -o c1_1.exe ←コンパイル $ ./c1_1.exe ←実行 C言語1-1:C言語を組む前に! ←出力される
今回は日本語の文字コードの関係で「export LANG=ja_JP.SJIS」を実行し、Cygwinでも日本語が扱えるように設定します。次にコンパイルを「gcc c1_1.c -o c1_1.exe」というコマンドで実行しています。「-o c1_1.exe」で出力されるexeファイルを指定できます。コンパイル(実際はexeを作成するためのビルド処理)が完了したら、「./c1_1.exe」で実行します。実行すると「C言語1-1:C言語を組む前に!」とCygwin上に出力されます。
プログラミングの基本は勉強するためには、「プログラムファイル作成」→「gccでコンパイル」→「実行」の流れを知っていれば問題ありません。gccについては、機会があれば別に説明します。
次回はCygwin上に文字列を表示する標準出力について説明します。
[…] C言語01:C言語を組む前に! 8月 05 […]