记录在读《你必须知道的.NET》的笔记。自我感觉非常棒,能深入地了解.NET内部的机制。
第四章 一切从IL开始
- 认识IL
如果你是vs2010用户,打开IL反编译程序就能进入反编译程序。在哪里打开想要反编译的exe文件,就可以查看反编译结果。 - IL语言基础
基本运算包括:add、sub、mul、cgt、clt、ceq、not、and等。
数据加载和保存:ld开头的表示要加载数据,st开头的命令表示保存数据。
条件判断以br开始。 - 元数据
后缀为Def的关键字,用来描述源代码定义的类型和成员信息。
后缀为Ref的关键字,用来描述源代码中应用类型和成员信息。
后缀为Ptr的关键字,代表指针表。用指针表来引用未知代码。
#开头的关键字,保存堆信息。 - IL中创建实例
newobj和initobj两个用来初始化实例,两者有很大的区别:newobj分配内存并初始化引用类型对象;initobj用于初始化值类型,并不需要分配空间,因为值类型已经在栈上分配了空间。 - 解析方法调用
call、callvirt分别调用静态方法(类名.方法)和调用动态方法(new 类名().方法);calli用来调用方法的引用。
第六章 内存天下
待续。。。。。。