收获:1.添加注释
2.命名规则
匈牙利命名法的基本原则是:变量名=属性+类型+变量名
属性部分:
全局变量 g_
常量 c_
类成员变量 m_(Data member of a class )
静态变量 s_
类型部分:
a array 数组
b bool 布尔
ch char 字符串
cnt ccount 计数
dw DWORD 双字32位无符号长整形
f flag 标志
fn function 函数
h handle 句柄
i int 整形
l long 长整形
lp long 长指针
n short int 短整形
p pointer 指针型
s string 字符串型
sz zero string 以0结尾的字符串
u unsigned int 无符号整形
ul unsigned long 无符号长整形
w word 16位无符号短整形
x,y 坐标
v void 空
描述部分:
Max 最大
Min 最小
Init 初始化
Temp 临时变量
Src 源对象
Dest 目标对象
其他约定还有:
CMyClass 前缀 'C' 代表一 C++ 类名. COMyObjectClass 前缀 'CO' 代表一 COM 对象类名 CFMyClassFactory 前缀 'CF' 代表一 COM 类工厂名 IMyInterface 前缀 'I' 代表一 COM 接口的类名 CImpIMyInterface 前缀 'CImpI' 代表一 COM 接口实现
疑惑:1.那个老头子强调赋值是绑定关系,而非把一个东西放到一个容器的关系,即把左边的值绑定到右边eg:a=3,个人认为dim a即开辟了一个区域,把3放到这片区域里,那a又放在哪?经过查资料得,dim a as interge 时编译器会分配4个字节的内存,并为这一块区域取名为a,变量名是给程序员看的在内存中并不存在,合法的变量名都被放在一个叫“符号集”的表中,程序在编译时所有变量名都都转化成地址;a=3,3不是被随机分配的,而总是位于程序的数据段中(说明他的位置是固定的所以是绑定关系不是拿来然后放进去的关系),可能在不同的机器上在数据段中的位置可能不一致,它的地址其实不能以我们常用到的内存地址来理解,因为牵扯到一个叫"计算机寻址方式"的问题,所以写很多都解释不清楚,自己找本汇编语言的书来学一下吧.........