第1章 Windowsプログラミングを学ぼう

1-1.DOSプログラミングとの相違点

DOSプログラミングとWindowsプログラミングの違いとして、次のものが挙げられる。

  1. WinMain関数の存在
  2. イベントドリブン方式によるプログラミング
  3. DOSプログラミングには無いデータ型の利用
  4. 変数や関数の命名規則

(a) WinMain関数の存在

WinMain関数とは、プログラム実行時に最も最初に実行される関数であり、DOSプログラミングでのmain関数に相当する。

(b) イベントドリブン方式とは

プログラム実行中に何かのイベント(マウスのクリックやウィンドウサイズの変更、キーの挿入など)が発生したときに処理が行われる方式。イベントが起きるまで、プログラムは止まっている(ループしているわけではない)。

(c) Windowsプログラミング独自の型

Windowsプログラミングでは、DOSプログラミングよりもさらに多くのデータ型や構造体を使うことができる。
以下、Windowsプログラミングで利用できるデータ型のうち、この授業や実習で使用するものを抜粋して紹介する。

意味
BYTE unsigned char(8ビット)
WORD unsigned int(16ビット)
DWORD unsigned long(32ビット)
LONG long
BOOL 論理値(int)

これはほんの一例であり、ほかにも構造体などたくさんのデータ型が用意されている。

(d) ハンガリー記法

DOSプログラミングではプログラム自身が余り巨大にならなかったため、

といったルールを慣習的に用いてコーディングが行われていた。しかし、Windowsプログラミングではプログラムが巨大になり、オブジェクト指向も取り入れられてきたため、新しいルールができてきた。

そして、名前付けの際に用いられるのが、下記に紹介する「ハンガリー記法」である。

フリフィックス 示しているデータ型
c char
by unsigned char(BYTE)
n shortまたはint
i int
x, y x座標、y座標を表すshort
cx, cy 幅(x)、高さ(y)を表すshort
b 論理型(BOOL)を表すint型
w unsigned int(WORD)
l long(LONG)
dw unsigned long(DWORD)
fn 関数
s 文字列
sz ASCIIZ文字列
p ポインタ

このルールで宣言した変数名、関数名は非常に長い文字列になるが、とりあえずMicrosoftが作成したDirectXのサンプルプログラムは、このルールで作成されている。


[ TOP ]