コンソールプログラム

2000.07.13

今回は、前回インストールした BCC++ を使ってプログラムを作成する。 手始めにコンソールプログラム(コマンドラインで入出力を行う)の 作成を行う。

例題1

最初の例題はありがちなやつ。画面に文字列を表示する。 以下のプログラムをエディタを使って作成し、test1a.cpp の名前で保存する。
----[test1a.cpp]----

#include <iostream.h>

int main()
{
  cout << "Hello Borland C++ "<< endl;
  return 0;
}
------------------------------------------------------

次に DOS窓から以下のように入力する。

BCC32 test1a.cpp

エラーメッセージがなければ、test1a.exe が出来ている筈なので、 実行してみる。 DOS窓に Hello Borland C++ と表示されれば成功である。

例題2

ある程度プログラムが大きくなると、上記のような方法では現実的ではない。 分割コンパイルの必要が出てくる。 ここでは makefile を使った分割コンパイルを行ってみる。 まずエディタを使って以下の3つのファイルを作成する。
----[test1b.cpp]----

extern void sub1();
int main()
{
  sub1();
  return 0;
}

----[sub1.cpp]----

#include <iostream.h>
void sub1()
{
  cout << "subroutine test "<< endl;
}

----[makefile]----
CFLAGS= -c 
.cpp.obj:
        bcc32 $(CFLAG)  $<
#
test1b.exe: test1b.obj sub1.obj
  bcc32  test1b.obj sub1.obj

# Borland の make の癖で、':' の後ろにスペースを空ける必要がある。

-------------------------------------------------------------

次に DOS窓から make と打ち込む。 エラーがなければ test1b.exe が作成される。

makemakefile に依存関係を書いておくと、 ファイルの時刻を調べて更新されたファイルだけをコンパイルしてくれるコマンドである。)


例題3

さて、 test1a.exe の大きさを見ると、112,640 バイトある。 これは例外処理のライブラリーが大きいためだそうである。 そこで例外処理を外すと、どれ位小さくなるか実験してみる。

例題1では stream を使っていたが、 これを例外処理を使わない stdio に替える。 makefile も例外処理を使わないライブラリー使うように書き換える。

----[test1c.cpp]----

#include <stdio.h>
int main()
{
  printf("no exception \n");
  return 0;
}


----[makefile]----

CFLAGS= -c 
.cpp.obj:
        bcc32 $(CFLAG)  $<
#
test1c.exe: test1c.obj 
 ilink32 -r c0x32 test1c,test1c.exe,, noeh32.lib cw32 import32,

-------------------------------------------------------------
結果、 test1c.exe の大きさは 35,840 バイトとなった。


以上でコンソールプログラムの作成についての説明を終わる。 ここまでの説明に使ったファイルはダウンロードできる。
ダウンロードする


次へ 前へ 目次へ