匈牙利表示法

来自百度百科---thanks...

匈牙利表示法

 
  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函数时,要提供一个不同的实例句柄,即代表句柄的不同的实际值。也就是说,一个实例是应用程序的一个单独的可执行副本,而实例句柄是唯一标识实例的整数。每当运行应用程序的新实例(一个副本)时,仅加载该应用程序的数据.这样窗口对应用程序的所有实例都使用相同代码,可以大大节省空间。
 
  对大多数程序来说,第一个实例作用较特殊,它创建的许多资源都可以被以后所有实例使用,而不需要重新创建。

 

posted on 2012-10-17 23:54  more think, more gains  阅读(226)  评论(0编辑  收藏  举报

导航