評論(0

匈牙利表示法

標籤: 暫無標籤

  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函數時,要提供一個不同的實例句柄,即代表句柄的不同的實際值。也就是說,一個實例是應用程序的一個單獨的可執行副本,而實例句柄是唯一標識實例的整數。每當運行應用程序的新實例(一個副本)時,僅載入該應用程序的數據.這樣窗口對應用程序的所有實例都使用相同代碼,可以大大節省空間。


  對大多數程序來說,第一個實例作用較特殊,它創建的許多資源都可以被以後所有實例使用,而不需要重新創建。

上一篇[出賣心碎]    下一篇 [魔鬼的情詩]

相關評論

同義詞:暫無同義詞