window API 中一些变量前缀的含义
弄window线程的时候,看不懂window.h里面的一些变量为什么好多有一些相似的前缀,弄的好迷,最后百度到的内容。
缘由:
匈牙dao利命名法是微软推广的一种关于变量、函数、对象、前缀、宏定义等各种类型的符号的命名规范。匈牙利命名法的主要思想是:在变量和函数名中加入前缀以增进人们对程序的理解。它是由微软内部的一个匈牙利人发起使用的,结果它在微软内部逐渐流行起来,并且推广给了全世界的Windows开发人员。
匈牙利命名法
- a Array 数组
- b BOOL (int) 布尔(整数)
- by Unsigned Char (Byte) 无符号字符(字节)
- c Char 字符(字节)
- cb Count of bytes 字节数
- cr Color reference value 颜色(参考)值
- cx Count of x (Short) x的集合(短整数)
- dw DWORD(unsigned long) 双字(无符号长整数)
- f Flags (usually multiple bit values) 标志(一般是有多位的数值)
- fn Function 函数
- g_ global 全局的
- h Handle 句柄
- i Integer 整数
- l Long 长整数
- lp Long pointer 长指针
- m_ Data member of a class 一个类的数据成员
- n Short int 短整数
- p Pointer 指针
- s String 字符串
- sz Zero terminated String 以0结尾的字符串
- tm Text metric 文本规则
- u Unsigned int 无符号整数
- ul Unsigned long (ULONG) 无符号长整数
- w WORD (unsigned short) 无符号短整数
- x,y x, y coordinates (short) 坐标值/短整数
- v void 空
结语
并不是要求所有的读者都要去遵守,但是希望读者作为一个现代的软件开发人员都去遵守它。
但是它周知面少,就很头疼,比如我看到了解这个之前,看库真的很头疼(就不能像java一样有一个像样的API文档吗?前辈好惨~)
最后再声明一下,这个转载百度知道的,侵权删除(我也不清楚它允许转不)