0
当查看已编译的CIL时,我注意到代码大小包含在已编译的CIL中。它被注释掉了。下面是一个例子.NET CIL代码大小
C#:
static void MakeACar()
{
Car myCar = new Car();
}
CIL:
.method public hidebysig static void MakeAObject() cil managed
{
//Code size 7 (0x7)
.maxstack 1
.locals init ([0] class SimpleGC.Car c)
IL_0000: newobj instance void SimpleGC.Car::.ctor()
IL_0005: stloc.O
IL_0006: ret
}
是什么代码的大小代表什么?
你是什么意思?这是生成的代码的实际大小,还是新创建的将放置在托管堆上的Car类的大小? – contactmatt 2010-12-11 02:33:26
生成(组装)的CIL代码的实际大小。例如,ret指令具有字节码表示“2A”。 stloc.0也占用1个字节,而newobj指令是1个字节,接着是4个字节的methoddef。 – 2010-12-11 02:39:49