基本簡介
Win32asm
源程式風格採用匈牙利表示法,是由Microsoft公司的
程式設計人員Charles Simonyi首創的。在匈牙利表示法中,
變數名以一個或多個小寫字母開始,代表變數的類型。後面附以
變數的名字,變數名以意義明確的大小寫混合字母序列所構成。這種方案允許每個
變數都附有表征變數類型的信息。如:WORD wParam1;LONG lParam2;HANDLE hInstance。其優點:通過給每個
變數名加上表示所屬
數據類型的前綴,從而在編譯前即可防止許多常見的錯誤。如下面的語句看起來正確,實際不正確,但卻容易漏過
檢查:
相關公式
Param1=Param2
使用匈牙利表示法,就很容易查出下面的錯誤。
wParam1=lParam2
變數的前綴及含義
前綴 | 隱含的數據類型 | 說明 |
b
| BOOL | 實際為整型 |
by | BYTE | 無符號字元 |
c | char | 字元 |
dw | DWORD | 無符號長型 |
fn | function | 函式 |
h | HANDLE | 無符號整型 |
i | integer | 整數 |
l | LONG | 長型 |
lp | Long pointer | 遠指針 |
n | Short(integer) | |
np | Near pointer | 近指針 |
p | pointer | |
s
| string | 字元串 |
sz | Zero terminated string | 以0結尾的字元串 |
w | WORD | 整數或字 |
x,y | short | X坐標和y坐標 |
cx,cy | short | x方向長和y方向長,c代表count(量度) |
遠指針用32位值確定記憶體地址,它指明了記憶體的特定的段值和段內的
偏移量。
近指針
近
指針用16位值確定記憶體地址,它代表模組預設
數據段的一個偏移值。
句柄
句柄是視窗用來標識創建或使用應用程式的唯一的整數值。視窗要使用各種不同的句柄來標識應用程式實例、
視窗、
選單、
控制、
分配的記憶體區和設備接口對象等。
WinMain函式具有hInstance句柄參數.視窗中不僅一次能同時運行多個程式,而且能多次運行同一個應用程式,即運行多個副本,每個副本叫做一個實例。為區別實例,視窗在每次調用WinMain函式時,要提供一個不同的實例句柄,即代表句柄的不同的實際值。也就是說,一個實例是應用程式的一個單獨的可執行副本,而實例句柄是唯一標識實例的整數。每當運行應用程式的新實例(一個副本)時,僅載入該應用程式的數據.這樣視窗對應用程式的所有實例都使用相同
代碼,可以大大節省空間。
對大多數程式來說,第一個實例作用較特殊,它創建的許多資源都可以被以後所有實例使用,而不需要重新創建。