C# 没有公开哪些 IL 指令?
我指的是 sizeof 和 cpblk 之类的指令——没有执行这些指令的类或命令(C# 中的 sizeof 是在编译时计算的,而不是在运行时 AFAIK)。
其他的?
编辑:我问这个的原因(希望这会让我的问题更有效)是因为我正在开发一个小型库,它将提供这些指令的功能。sizeof 和 cpblk 已经实现 - 在继续之前,我想知道我可能错过的其他内容。
EDIT2:使用 Eric 的回答,我编制了一份说明清单:
- 休息
- 跳转
- 愈伤组织
- 对象
- 有限的
- 前缀[1-7]
- 前缀引用
- 末端过滤器
- 未对齐
- 尾声
- cpblk
- 初始化块
还有许多其他指令未包含在列表中,我将它们分开是因为它们基本上是其他指令的快捷方式(压缩以节省时间和空间):
- Ldarg[0-3]
- Ldloc[0-3]
- 斯特洛克[0-3]
- Ldc_[I4_[M1/S/0-8]/I8/R4/R8]
- Ldind_[I1/U1/I2/U2/I4/U4/I8/R4/R8]
- Stind_[I1/I2/I4/I8/R4/R8]
- 转换_[I1/I2/I4/I8/R4/R8/U4/U8/U2/U1]
- Conv_Ovf_[I1/I2/I4/I8/U1/U2/U4/U8]
- Conv_Ovf_[I1/I2/I4/I8/U1/U2/U4/U8]_Un
- Ldelem_[I1/I2/I4/I8/U1/U2/U4/R4/R8]
- Stelem_[I1/I2/I4/I8/R4/R8]