MSIL入门
IL语法格式
- 定义依赖程序集
- 定义程序集
- 定义模块
- 定义类型
- 定义字段
- 定义方法
IL指令
一个方法中可以包含一条或多条IL指令,每条IL指令由三个部分组成,分别是标签、操作与参数。以下面的IL指令为例,IL_0001是标签,ldstr是类型,“Hello World”是参数。
标签代表该IL指令的位置,实现跳转的IL指令会把标签当做参数使用。
类型代表IL指令执行了什么操作。常见的IL指令类型:
参数表示操作需要的值。有的IL指令类型可以不要参数,例如nop指令(代表什么都不做)。
IL_0001: ldstr "Hello World"
评价堆栈
评价堆栈(Evalution Stack)在IL指令的执行过程中发挥了非常重要的作用(不管是解释执行还是JIT编译执行),评价堆栈可以用于在指令之间传递临时的数据。