0
CILを見ると、コンパイルされたCILにコードサイズが含まれていることがわかりました。それはコメントアウトされています。.NET CILコードサイズ
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
}
コードサイズが何を表しているん下記の
C#の例ですか?
どういう意味ですか?これは生成されたコードの実際のサイズか、マネージヒープに置かれる新しく作成されたCarクラスのサイズですか? – contactmatt
生成された(組み立てられた)CILコードの実際のサイズ。例えば、ret命令は、バイトコード表現「2A」を有する。 stloc.0も1バイトを占め、newobj命令は1バイトで、その後に4バイトのmethoddefが続きます。 –