next up previous contents
Next: 5.3 Java Up: 5. プログラミング言語 Previous: 5.1 CNSにおけるプログラミング言語の利用



5.2 C

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

Cのプログラミング環境は,基本的にすべてのホストで利用できる.Cコンパイラであるccコマンドや gccコマンドは,CNSのUNIX環境のすべてのホストで利用でき,Cのソースコードをコンパイルできる.

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


Cコンパイラ

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

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


Cによるプログラミング

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

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

2.
コンパイル
Cコンパイラによって,ソースコードをコンパイルする.エラーが表示されずにコンパイルが終了すると,a.outという実行形式のファイルが作成される.

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

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

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



next up previous contents
Next: 5.3 Java Up: 5. プログラミング言語 Previous: 5.1 CNSにおけるプログラミング言語の利用