next up previous contents index
Next: 7.3 Java Up: 7. プログラミング言語 Previous: 7.1 CNSにおけるプログラミング言語の利用


     
7.2 C

CはUNIX環境では最も一般的なプログラミング言語の1つである.Cはもと もとUNIXそれ自体を記述するために開発された言語であり,UNIX環境との整合 性が高い.CNSで普段利用される多くのコマンドはCで記述されている.

    Cのプログラミング環境は,基本的にすべてのホストで利用できる.Cコンパイ ラであるccgccは,CNSのUNIX環境のどのホストにも存在し,C のソースコードをコンパイルできる.

しかし,同じgccでコンパイルした実行ファイルでも,異なる機種のホ スト,例えばindy??とccz??ではコンピュータが認識できる機械語の種類が違 うため実行ファイルの内容も異なる.このため,一方で作った実行ファイルは もう一方のホストでは正しく動作しない.つまり,異なるホストで実行すると きには,もう1度ソースコードをコンパイルする必要がある.多数のホストで 動作させるプログラムを作成する場合には,この点に注意すること.

   
Cコンパイラ

CNSで利用できるCコンパイラは2種類ある(表).


 
表: Cコンパイラの種類
 
コンパイラ 特徴
cc 各OSに付属しているCコンパイラ.OSの種類ごとに多少の違 いがある.
gcc GNU Free Software Foundation製のCコンパイラ. OSの種類に関係なく共通して利用できる.

   

   
Cによるプログラミング

1.
ソースコードの作成
Muleなどのエディタで次のようにCでコードを記述する. このプログラムは, ``Hello, World.''という文字列を標準出力() に出力する. このソースコードをhello.cとしてファイルに保存する. Cのプログラムのファイル名は,拡張子を.cとする.


#include<stdio.h>
main()
{
   printf("Hello World.\n");
}

1.
コンパイル
Cコンパイラによって,ソースコードをコンパイルする. エラーが表示されずにコンパイルが終了すると, a.outというファイルが作成される. a.outは実行ファイルであり, コンパイルの結果であるオブジェクトコードが収められている.

% gcc hello.c<RET>
% ls<RET>
a.out   hello.c
% _

1.
実行
プログラムを実行するには実行ファイルのファイル名(この例ではa.out)を コマンドとして入力する.


% a.out<RET>
Hello World.
% _