標準TTLだけ(!)でCPUをつくろう!(組立てキットです!)
(ホントは74HC、CMOSなんだけど…)
[第278回]

●RS232C受信プログラムの説明です

前回[第277回]で、BorlandのC++コンパイラを使って作成した、RS232C受信プログラムr232.exeのソースプログラムをお見せしました。
今回は、そのプログラムについて、簡単な説明を書きたいと思います。

C++なんて全然わからないし、まして通信ソフトなど尚更だ、とおっしゃる向きもあろうかと思いますが、でも世の中にはC++でRS232C通信プログラムを書くにはどうすればよいのか知りたい、というお方も結構いらっしゃるようです。
そういう方々に少しでも参考になれば(参考になるかなぁ)、少しは世のためになるというものですし、まあ、ぶっちゃけて言うと、本当は自分のために、整理メモとして残したい、というのが本音です。

というわけでありますので、おわかりにならない方にも配慮することなく、勝手に書いてしまいます。

●Borland C++コンパイラ

BorlandのC++コンパイラについては、こちら([第189回])で紹介しています。フリーのコンパイラです。
世の中にはとてもフリー(無償)であるとは信じられないソフトがたくさんあります。
このBorlandのC++コンパイラもそうですし、この間ご紹介いたしました、プリント基板エディタPCBEや、回路図エディタBSch3vもそうです。
まことにありがたいことです。
日々感謝しながら、使わせていただいております。

なお、Borland C++コンパイラは開発を停止しているようです。最終バージョンはV5.5です(BCC55)。
提供元もBorlandからCodegearに移っていますが、今でも(2009年7月現在)、codegearのサイトから無償でダウンロードできます。
上記サイトの「C++Compiler5.5/Turbo Debugger」がBorland C++コンパイラです。

●コンソールアプリケーション

さて説明を開始しようとして、その裏づけとなる資料などを調べていましたら、「コンソールアプリケーションはコマンドラインオプションの−wcをつけてコンパイルする」という文に行き当たりました。

いきなりそんなことを書かれても、なにもわからんではないか、と言わないでください。
今から少しずつ説明をいたします。

コンソールアプリケーションとは、いまどきの、Windows画面にグラフィカルに表示するようなソフトではなくて、昔の、入力はマウスではなくてキーボードを使って、そして表示は文字だけを、DOSプロンプト(DOS窓)の黒い画面に表示する、という形式のソフトのことです。

CUI(Console User Interface)ソフトともいうのだそうですね。
いうなれば古き良き時代の、三丁目の夕日的ソフトウェアです。
Character User Interfaceの略語である、という説もあります。
また英語圏では、Command Line Interfaceという表現が多い、という記事もありました。

これに対して、いまどきのグラフィックとマウス中心のソフトウェアは、その名もズバリでGUI(Graphical User Interface)というのだそうですね。
私は「三丁目の夕日」世代ですから、当然GUIよりもCUIの方が好きです。というよりも、はっきり言って、GUIなどする気にならない、です。

おお。そういえば、ずっと以前に、C++をさわりはじめたばかりのころに、この「−wc」オプションを使っていたような記憶があるような…。
そんなことはすっかり忘れてしまっていました。
ですから[第189回]でRS232C送信プログラム(w232.cpp)をコンパイルする画面でも、−wcオプションなどつけないで、
>bcc32 w232.cpp
とやってしまっています。

ううう。まずかったか?
しかし、待てよ。
もともとBorland C++コンパイラ自体がDOS窓でしか実行できない、正真正銘のコンソールアプリケーションじゃないの。
であるからして、ごくふつうにコンパイルされるプログラムも当然コンソールアプリケーションになるはず。
むしろそうではないグラフィカルなアプリケーションを、Borland C++コンパイラで扱うにはどうすればいいの、という、こちらの方がオプションでしょうよ。

本当のところはわかりません。
私自身はコンソールアプリケーションで十分満足しておりますし、Borland C++コンパイラは、それ向きのコンパイラだと認識していますので、そんなややこしいオプションのことなどすっかり忘れてしまっていたわけであります。

しかし、そんなもの、つけなきゃいかんのか?
−wcオプションをつけずにコンパイルして作成したw232.exeは、ちゃんとDOSプロンプト(DOS窓)の中で動いてくれているようですし…。
ひょっとすると、−wcオプションをつけないでコンパイルすると、余計なものがくっついてきて、プログラムサイズが大きくなってしまうのかも。

そこで、−wcオプションをつけてコンパイルした場合と、つけないでコンパイルした場合とで、作り出される実行形式プログラムのサイズが異なるかどうかを比べてみました。



−wcオプションをつけてコンパイルしたw232cnsl.exeのプログラムサイズは56KBになりました。
w232.exeと区別するために、ソースプログラムをw232cnsl.cppというファイル名にしましたが、中身はw232.cppと全く同じものです。
ところで以前作って−wcオプションなしでコンパイルしてしまったw232.exeのプログラムサイズはどれほどだったでしょうか?



なんだ。こちらも56KBで同じじゃないですか。
ということは、プログラムサイズから判断する限りでは、−wcオプションはつけなくても問題はない(多分)、ということでしょう。

あ。本日は時間切れです。
とんだところで引っかかってしまいましたので、入り口から中に入れずに終わってしまいました。
2009.7.14upload

前へ
次へ
ホームページトップへ戻る