Windows程序设计 笔记(1):起步

(1) windows.h囊括了很多其他windows头文件,下面是最重要也是最基本的头文件:

WINDEF.H 基本数据类型定义。

WINNT.H 支持UNICODE的类型定义。

WINBASE.H 内核函数。

WINUSER.H 用户界面函数。

WINGDI.H 图形设备接口函数。


(2) stdcall和cdecl
 _stdcall是Pascal程序的缺省调用方式,参数采用从右到左的压栈方式,被调函数自身在返回前清空堆栈。WIN32 Api都采用_stdcall调用方式。
 _cdecl是C/C++的缺省调用方式,参数采用从右到左的压栈方式,传送参数的内存栈由调用者维护。
_cedcl约定的函数只能被C/C++调用,每一个调用它的函数都包含清空堆栈的代码,所以产生的可执行文件大小会比调用_stdcall函数的大。


(3)匈牙利命名法

这种命名法是一位叫 Charles Simonyi 的匈牙利程序员发明的。这种命名法的出发点是把变量名按:属性+类型+对象描述的顺序组合起来,以使程序员作变量时对变量的类型和其它属性有直观的了解,下面是HN变量命名规范。

属性部分:
  g_ 全局变量
  c_ 常量
  m_ c++类成员变量
  s_ 静态变量

类型部分:
  指针 p
  函数 fn
  无效 v
  句柄 h
  长整型 l
  布尔 b
  浮点型(有时也指文件) f
  双字 dw
  以零结尾的字符串 sz  (string Terminated with a Zero)
  短整型 n
  双精度浮点 d
  计数 c(通常用cnt)
  字符 ch(通常用c)
  整型 i(通常用n)
  字节 by
  字 w
  实型 r
  无符号 u
  

描述部分:
  最大 Max
  最小 Min
  初始化 Init
  临时变量 T(或Temp)
  源对象 Src
  目的对象 Dest

举例:
  hwnd : h 是类型描述,表示句柄, wnd 是变量对象描述,表示窗口,所以 hwnd 表示窗口句柄;
  pfnEatApple : pfn 是类型描述,表示指向函数的指针, EatApple 是变量对象描述,所以它表示指向 EatApple 函数的函数指针变量。
  g_cch : g_ 是属性描述,表示全局变量,c 和 ch 分别是计数类型和字符类型,一起表示变量类型,这里忽略了对象描述,所以它表示一个对字符进行计数的全局变量。

你可能感兴趣的:(Windows程序设计 笔记(1):起步)