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