BCC32Cを使ってみた 本文へジャンプ

サンプルプログラム1−1

テスト・開発環境、ディレクトリ構成、プログラム用の保管場所

この開発ツールが、Windowsを対象にしていますので、検証環境は東芝製PC(dynabook RX73、Windows10 Home(64Bit))で行います。
ルート・ディレクトリにフォルダ「\borland」を作成し、その下にエンバカデロ C++コンパイラ(フォルダ名「\BCC102」)を展開します。検証用に「\borland」フォルダの下に「\program」フォルダを作成し、サンプルプログラムを保管することとします。


C:.
├─borland
│  ├─BCC102
│  │  ├─bin
│  │  ├─include
│  │  ├─lib
│  └─program
│     ├─sample_101
│     ├─sample_102
│     ├─sample_103
│     ├─sample_201
│     ├─sample_301
│   |
│     ├─freeware1
│     ├─freeware2
│   |
│     ├─software101
│     ├─software102

コンソールプログラム

1-1)sample101(空白・タブ・改行のカウント)
コマンドラインプログラムの@がサンプルです。ファイルを読み込み、画面に、空白・TAB・改行数を計算して表示します。「hello, world」でもよかったのですが、よく使われているので、別のものを選びました。参考文献(プログラミング言語C、K&R)の演習1-8です。

@のソースコードをBCC32Cでコンパイル(+リンク)で実行型を作成します。結果がAです。
通常必要ないのですが、BCC32Cでオブジェクト・ファイルだけを作成し、リンカ(ilink32)を別で起動した例もBに載せます。

最後に、MAKEがCのメイク・ファイルを実行する例もDに載せています、内容は、Aと同じことが行われます。
実施した結果がEになります。

コンパイラをBCC32Xに変更して、@と同様にコンパイルした例を、Fに示します。

ここに載せたファイルは、こちら

@ソースプログラム(sample_101.c)
// -------------------------------------------------
// sample_101.c
// Count space, TAB, CR
//          2018/06/12 Kimio Nakamura
// -------------------------------------------------
#include <stdio.h> 
int main(void)
{
        int c;
        int ns, nt, ncr;

        ns = 0;
        nt = 0;
        ncr = 0;

        while((c = getchar()) != EOF){
                if(c == '\n') ncr++;
                else if(c == '\t') nt++;
                else if(c == ' ') ns++;
        }
        printf("space: %d TAB: %d CR: %d\n",ns,nt,ncr);
        return 0;
}

Aコンパイル結果(BCC32C)




Bコンパイル結果(BCC32C、ILINK32)




Cメイク・ファイル(sample_101.mak)
#  sample_101.mak  2018/07/07 Kimio Nakamura

name = sample_101

${name}.obj : ${name}.c
	bcc32c -w ${name}.c


Dコンパイル結果(MAKE)





E実行結果





Fコンパイル結果(BCC32X)




戻る