读经典——《CLR via C#》(Jeffrey Richter著) 笔记_IL和验证
2015-03-31 00:52
323 查看
1.IL 基于栈——所有指令压入一个执行栈,并从栈弹出结果。
2.IL 指令无类型——指令会判断栈中操作数的类型,并执行恰当的操作。
3.IL 最大优势——应用程序的健壮性和安全性。
将 IL 编译成本地 CPU 指令时, CLR 会执行验证过程。这个过程检查 IL 代码,确认代码所做的一切都是安全的。例如,验证会核实调用的每个方法都有正确数量的参数,传给每个方法的每个参数都具有正确的类型,每个方法的返回值都得到了正确的使用,每个方法都有一个返回语句等。在托管模块的元数据中,包含了要由验证过程使用的所有方法和类型信息。
2.IL 指令无类型——指令会判断栈中操作数的类型,并执行恰当的操作。
3.IL 最大优势——应用程序的健壮性和安全性。
将 IL 编译成本地 CPU 指令时, CLR 会执行验证过程。这个过程检查 IL 代码,确认代码所做的一切都是安全的。例如,验证会核实调用的每个方法都有正确数量的参数,传给每个方法的每个参数都具有正确的类型,每个方法的返回值都得到了正确的使用,每个方法都有一个返回语句等。在托管模块的元数据中,包含了要由验证过程使用的所有方法和类型信息。
相关文章推荐
- 读经典——《CLR via C#》(Jeffrey Richter著) 笔记_.Net Framework 部署目标
- 读经典——《CLR via C#》(Jeffrey Richter著) 笔记_类型转换
- 读经典——《CLR via C#》(Jeffrey Richter著) 笔记_基元类型(三)
- 读经典——《CLR via C#》(Jeffrey Richter著) 笔记_NGen.exe
- 读经典——《CLR via C#》(Jeffrey Richter著) 笔记_值类型的装箱和拆箱(一)
- 读经典——《CLR via C#》(Jeffrey Richter著) 笔记_友元程序集
- 读经典——《CLR via C#》(Jeffrey Richter著) 笔记_对象的相等性和同一性
- 读经典——《CLR via C#》(Jeffrey Richter著) 笔记_基元类型(二)
- 读经典——《CLR via C#》(Jeffrey Richter著) 笔记_.Net Framework 部署目标(一)
- 读经典——《CLR via C#》(Jeffrey Richter著) 笔记_发布者策略控制
- 读经典——《CLR via C#》(Jeffrey Richter著) 笔记_元数据
- 读经典——《CLR via C#》(Jeffrey Richter著) 笔记_基元类型(一)
- 读经典——《CLR via C#》(Jeffrey Richter著) 笔记_new新建对象
- 读经典——《CLR via C#》(Jeffrey Richter著) 笔记_命名空间和程序集的关系
- 读经典——《CLR via C#》(Jeffrey Richter著) 笔记_类型的各种成员
- 读经典——《CLR via C#》(Jeffrey Richter著) 笔记_dynamic基元类型
- 读经典——《CLR via C#》(Jeffrey Richter著) 笔记_方法执行
- 读经典——《CLR via C#》(Jeffrey Richter著) 笔记_CLR