ldloc var与ldloc.n

时间:2014-04-01 12:27:26

标签: cil intermediate-language

有人知道使用ldloc var CIL指令和ldloc.n是否存在微小差异?

考虑方法范围中的本地var表:

.locals init ([0] int32 a,
              [1] int32 b)

是那些说明:

ldloc.0
ldloc.1

更好,更好或等于:

ldloc a
ldloc b

1 个答案:

答案 0 :(得分:2)

有许多缩小形式的常见操作码,目的很简单 - 缩短方法的长度。 ldloc.n条指令占用一个字节,ldloc.s n两个字节,ldloc n三个字节。这对于内联很有用,因为超过16个字节的方法不适合它。