DOSプログラムとWindowsプログラム
今までの説明で、アセンブラからC++まで飛びましたが、C++を理解するためにはC言語を理解しなければなりません。
C++はC言語を使ってオブジェクト指向言語を記述したものという事になっています。
C言語で必要な部分はいわゆる文法に当たります。
C言語の入門書には
int main()
と最初に書いてありますが、ウィンドウズプログラムではこの関数はありません。
DOS窓で実行するプログラムではこれがあります。
DOS窓で実行するプログラムはコンソールプログラムと呼ばれます。
ウィンドウズプログラムにC言語のテキストで必須の int main() が無いのはなぜでしょうか?
それはDOSプログラム(コンソールプログラム)とウィンドウズプログラムでは構造がまったく違っているからです。
共通なのは文法だけ、といっても過言ではありません。
あまりに考え方が違うのでDOSでプログラムをしていたひとはVC++に戸惑います。
かくいう私もその一人です。
初めてプログラムを学ぶ人のほうがウィンドウズプログラムには入りやすいと思います。
そこでここでは大胆にC言語の文法を学ぶためにコンソールプログラムを作るのをやめて
いきなりC++の説明から始めましょう。
一通りウィンドウズのプログラムを眺めた後で文法の必要性を改めて理解すると思います。
その必要になったときにコンソールプログラムを作りながらC言語の文法を勉強しましょう。
文法の説明になぜコンソールプログラムを使うのか、というと、ソースの構造が単純明快だからです。
VC++のウィンドウズアプリケーションのソースは、とても複雑です。
VC++は、決まりきった手順を自動化するように働きます。
わかっている人には便利でも初心者には何をやっているか、さっぱりわかりません。
ある程度ソースを読めないとその説明すらできないのですね。
余計な説明を必要としない、シンプルなコンソールプログラムが文法の勉強には最適です。
コンパイルも早く、動作も明快です。