Размер кода .NET CIL - PullRequest
       23

Размер кода .NET CIL

0 голосов
/ 11 декабря 2010

Глядя на скомпилированный CIL , я замечаю, что размер кода включен в скомпилированный 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
}

Что означает размер кода?

1 Ответ

2 голосов
/ 11 декабря 2010

Это просто число байтов, занимаемых CIL в его форме байт-кода.

(посмотрите на ваш пример: вы можете видеть, что последняя инструкция (ret) начинается со смещения байта 6(IL_0006:). Поскольку ret кодируется как однобайтовый код операции , поток байтовых кодов заканчивается общей длиной 6 + 1 = 7 байтов.)

...