Cプログラミング入門

第2回 Chapter 1 C言語の概要(2)

この記事を読むのに必要な時間:およそ 2 分

コンパイラはgcc

Cコンパイラにもさまざまな種類がありますが,おそらく現在もっとも広く使用されているのはGNUのCコンパイラであるgccでしょう。gccはGPL(General Public License)によってCコンパイラ自体のソースコードが公開されおり,誰でもフリー(無料)で使用することができます。具体的にgccを利用するには,次の3つの方法が考えられます。

  • PCにLinux(またはFreeBSD)をインストールして,OS標準のgccを使う方法
  • KNOPPIXのCD-ROMを起動して,OSをインストールせずにgccを使う方法図1.3
  • Windows上にCygwinをインストールしてCygwin上でgccを使う方法

図1.3 KNOPPIX上でgccを使っているところ

図1.3 KNOPPIX上でgccを使っているところ

LinuxやFreeBSDなどの各種PC UNIXには標準でgccが付属しているため,たとえば,雑誌の付録CD-ROMやFTPでのダウンロードなどで入手したLinuxを手持ちのPCにインストールすれば,それだけでC言語の開発環境を得ることができます。

また最近はKNOPPIXと呼ばれる1枚のCD-ROMだけで起動するLinuxも存在します。KNOPPIXを使えばハードディスクには何もインストールすることなく,より手軽にgccを使うことができます。

Windowsの場合は,Windows上でユーザレベルでUNIXとほぼ互換なコマンド環境を実現することができるCygwinというソフトウェアがあります。gccはこのCygwin上でも動作可能で,Cygwinを使ってWindows上でC言語のプログラミングを行うことができます。ただCygwinの環境では,UNIXとほぼ互換とは言うものの,細かい部分で完全に同じではないため,ここではLinuxなどのUNIX環境上でgccを使用することを推奨しておきます

gccのバージョンの確認

gccのバージョンは,gcc-3.2.xなどのgcc-3.x系が最新ですが,その前のバージョンのgcc-2.x系もまだまだ多く使われています。本書ではgccのバージョンに依存するような箇所はなく,どちらでも同様に使用することができます。

gccを使用するには,gccがインストールされていて,gccに実行PATHが通っていることが必要です。gccに実行PATHが通っていることは図1.4の実行例のようにして確認することができます。この例ではgccが「/usr/bin/gcc」という場所にインストールされていて,単にgccとコマンド名をタイプすれば/usr/bin/gccが実行されることがわかります。

図1.4 実行例:gccに実行PATHが通っていることを確認

$ type gcc
gcc is /usr/bin/gcc
$
typeはbashなどのBシェル系のコマンドで,Cシェル系では異なります。一般にBシェル系のシェルでは「$」のプロンプトが表示されます。

gccのバージョンは,図1.5の実行例のように「-v」オプションを付けてgccを起動してみることによって確認できます。この例では「Red Hat Linux 7.3にインストールされたgcc-2.96」であることがわかります。

図1.5 実行例:gccのバージョン確認

$ gcc -v
Reading specs from /usr/lib/gcc-lib/i386-redhat-linux/2.96/specs
gcc version 2.96 20000731 (Red Hat Linux 7.3 2.96-113)
$

ソースファイルはテキストエディタで作成

C言語のプログラムを記述するソースファイルは単なるテキストファイルであり,通常のテキストエディタを使ってプログラムを記述することができます。BASICと違って,プログラムを入力するための専用ソフトは必要ありません。テキストエディタはプレーンテキストが編集できるエディタなら何でもよく,自分の好みのものを使用してかまいません。

LinuxなどのUNIX系のOS上では,vi,Emacsなどのテキストエディタがよく使用されます。このほか,KDEやGNOMEなどのデスクトップ環境を使用している場合は,KDE上ではkedit図1.6),GNOME上ではgeditというテキストエディタが使えます。また,Windows上ではnotepad.exeやその系統のテキストエディタが使用できます。

図1.6 LinuxのKDE上でkeditを使用しているところ

図1.6 LinuxのKDE上でkeditを使用しているところ

cat,more,lessでテキストファイルを表示

C言語のソースファイルなどのテキストファイルを編集するのではなく,単に表示したいだけの場合は,テキストエディタのかわりにcat,more,lessといったコマンドが使えます。

catコマンドの使い方

数行程度の短いプログラムならcatを使って表示することができます。catコマンドは,

$ cat ファイル名

と入力すれば,そのファイルの内容がそのまま画面に表示されます。ただし,ファイルの行数が多い場合は画面(ウィンドウ)の表示が流れてしまい,ファイルの終わり付近にある行しか見られないでしょう。

moreコマンド

catコマンドでは,表示したいテキストファイルの行数が多い場合,画面(ウィンドウ)の表示が流れてしまってうまく見ることができません。このような場合はmoreコマンドを使います。moreコマンドも,catコマンドと同様に,

$ more ファイル名

とコマンド入力して使います。

moreコマンドを使った場合は,画面の行数ごとに表示が一時停止します。ここでスペースキーを入力すると次の行に進むため,テキストファイル全体を順に見て行くことができます。ファイルの最後まで見ると,moreコマンドは自動的に終了します。また,ファイルの途中で[q]を入力して終了することもできます。

lessコマンド

moreコマンドを使えば行数の多いファイルも見ることができますが,ファイルを見ている途中に前の行に戻ることができません。このような場合にはlessコマンドを使います。lessコマンドも同様に,

$ less ファイル名

とコマンド入力して使います。

lessはmoreの機能を拡張したコマンドで,ファイルの表示中に[k][j]キー(または[↑][↓]キー)を使ってファイル内を前後にスクロールすることができます。lessコマンドはmoreコマンドとは違ってファイルを最後まで表示しても自動的には終了しません。lessコマンドを終了するには[q]キーを押します。

図1.7 lessコマンドでソースファイルを表示しているところ

図1.7 lessコマンドでソースファイルを表示しているところ

著者プロフィール

山森丈範(やまもりたけのり)

「C言語はアセンブラを触っているうちに自然に覚えてしまった」というプログラマ。C言語とのかかわり上,OSは専らUNIXを使用。C言語のプログラムでは,いつもLinux/FreeBSD/Solarisすべてで動くことを気に留めている。C言語と同様に移植性の高いシェルスクリプトにも思い入れが深く,著書に『シェルスクリプト基本リファレンス』がある。

著書

コメント

  • cygwinを使ったC言語

    はじめまして、cygwinを使ったC言語の書籍を探してしています。ブラウザで検索した結果2件ヒットしましたが、
    著者の間違い・ミスプリントが多くて、購入する気がしません。
    間違い・ミスプリントの少ない書籍を探しています。
    御紹介願えば、メールにて回答頂ければ幸いです。

    OS は、WindowsXP Proで動作しています。
    よろしくお願いします。

    Commented : #1  中井広美 (2007/11/19, 15:40)

コメントの記入