IL系列文章之三:Array in IL[7]

[入库:2005年8月18日] [更新:2007年3月24日]

本文简介:选择自 windfast_2000 的 blog

1.   定义一个数组指针,int32[] v_0

2.   将数组长度移到堆栈顶,ldc.i4.6

3.   为其分配空间,newarr [mscorlib]system.int32

这下明白了c#中的数组为什么要通过两个步骤来定义了吧。其原因就在于在c#中我们是把数组放到托管堆上,而在c++中使用(int number[6])数组不是放在堆上的。il能做c#不能做到的事情,如数组的下界可以不从0开始等(下次有机会写个例子j)。

为数组元素赋值,需要四个步骤,

1.     将数组指针移到栈顶,ldloc.0

2.     将数组元素的index移到栈顶,ldloc.1

本文关键:il,cil,msil,array
  相关方案
Google
 

本站最佳浏览方式为 分辨率 1024x768 IE 6.0(或更高版本的 IE浏览器)

go top