第3回
ソースの入力から完成まで

コマンドライン版開発環境の設定

ここで、LSI-CとGCCを使ってCのプログラミングを試したい方のために、それぞれのコンパイラ・ドライバの使い方を簡単に紹介しておきましょう。

VC++ならビルドで簡単

VC++(Express版も含む)では、統合環境上でコンソールモードのCプログラムを開発できます。内部ではコンパイルとリンクの処理が行われているわけですが、ユーザー(プログラマー)にはそれが見えないようになっています。

このコラムで紹介するCのソースコードをコンパイル~リンクして実行形式ファイル(.exeファイル)を生成する作業では、統合環境のビルド処理に頼って構いません。

LSI-C 86やGCCを使う場合は、コマンドラインからコンパイラ・ドライバを実行することになります。

LSI-C 86の場合(1)~環境変数と設定ファイル

コンパイラ・ドライバはDOSのコマンドライン版プログラムなので、インストール作業は不要です。ファイル一式を(“lsic330c”フォルダごと)ハードディスクの分かりやすいフォルダにコピーすればいいでしょう。

試食版を解凍した際に生成されるフォルダは“lsic330c”となっています。が、オンラインマニュアルでは“LSIC86”フォルダが標準となっているため、フォルダ名を変更しておいた方が分かりやすいでしょう。これをCドライブのルートにコピーします。

さらに、同じくCドライブのルートに“CLANG”フォルダを作り、その中にソースファイルを保存する“SRC”フォルダと、出来上がった実行形式ファイルを保存する“EXE”フォルダを準備――という形がよいかと思います。もちろん絶対にそうしなければならないわけではなく、フォルダ構造は自由に設定して構いません。但しその場合、次に説明する設定ファイルもそれに合わせて書き換えなければなりません。


LSI-C 86の場合(2)~環境変数PATHの設定

DOSで動作するLSI-Cでは、実行にさきがけて環境変数“PATH”を登録し、設定ファイルを書き直しておく必要があります。

環境変数“PATH”は、DOSのプロンプトから以下のように入力して設定します。
PATH=C:\LSIC86\BIN
アンダーラインの箇所に、LSI-C 86のフォルダへのパスを正しく入力しましょう。

Windowsを起動しない純粋なDOS環境なら、この行をAUTOEXEC.BATに追記すればいいでしょう。WindowsのDOS窓(コマンド プロンプト)で実行したい場合は、コンパイラ・ドライバを実行する前にこの行を実行する必要があります。別途、上記のコマンドを実行するバッチファイルを準備し、DOS窓を実行するたびにそれを実行してもよいでしょう。

LSI-C 86の場合(3)~設定ファイル_LCCの変更

次に、設定用のファイル“_LCC”を書き換えます。このファイルはLSIC86\BINフォルダに保存されています。オリジナルのファイルを別名でバックアップした上で書き直しましょう。

以下の1行から、LSI-Cを保存したフォルダへのパスを書き直します。
-XA:\LSIC86\BIN -LA:\LSIC86\LIB -IA:\LSIC86\INCLUDE -T -O
元々NECのPC-9801シリーズが全盛だった時代に作られたものなので、ドライブがすべて“A:”となっています(なんだか懐かしいですね)。これを、必ずAT互換機向けのCやDなどに書き直しましょう。上の例のように“C:\LSIC86”に保存したなら、以下のように書き直します。
-XC:\LSIC86\BIN -LC:\LSIC86\LIB -IC:\LSIC86\INCLUDE -T -O
お分かりのように、これはLSI-Cの実行ファイルやライブラリなどの保存場所を示したパスです。オリジナルのままだと、コンパイラ・ドライバを実行するたびに「Aドライブの準備ができていない」というエラーメッセージが表示されます。

コンパイラ・ドライバの実行方法

これで、LSI-Cによるコンパイルとリンクが可能になります。コンパイラ・ドライバは“LCC.EXE”という名前で、コマンドラインから以下のような形式で入力します。
LCC -o<実行形式ファイル名> <Cソースファイル名>
先に紹介したサンプルプログラムを“ex01.c”という名前でSRCフォルダに保存し、そこから“ex01.exe”を作るなら、以下のように入力します。
LCC -oC:\CLANG\EXE\ex01.exe C:\CLANG\SRC\ex01.c

GCCの場合

LINUXなどUNIX系OSではGCCは標準的な開発環境ですから、インストール時にCコンパイラシステムもインストールするよう設定していれば、特別な設定を行わなくてもGCCが利用できます。

一般に、こういった個人的な作業はホームディレクトリ(~/)で行います。ホームディレクトリにclangディレクトリを作り、さらにその中にsrcとexeというディレクトリを作ることにしましょう。

単純に
gcc hello.c
のように実行すると、ホームディレクトリ上に“a.out”という名前で実行形式ファイルが生成されます。生成する実行形式ファイルを指定するには、LCC同様に-oオプションを付け足します。但し、-oとファイル名の間にスペースが必要です。

GCCの基本書式は以下のようになります。
gcc <Cソースファイル> -o <実行形式ファイル>
ホームディレクトリ下のclangディレクトリ(~/clang)で、ex01.cから実行形式ファイルex01を作るなら、以下のように入力します。
gcc src/ex01.c -o exe/ex01