Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.NET CIL代码大小_.net_Cil_Code Size - Fatal编程技术网

.NET CIL代码大小

.NET CIL代码大小,.net,cil,code-size,.net,Cil,Code Size,当查看编译后的CIL时,我注意到编译后的CIL中包含了代码大小。它被注释掉了。下面是一个例子 C#: CIL: 代码大小代表什么?这只是CIL以字节码形式占用的字节数 (看看您的示例:您可以看到最后一条指令(ret)从字节偏移量6(IL\u 0006:)开始。由于字节码流的总长度为6+1=7字节。)您的意思是什么?这是生成代码的实际大小,还是将放在托管堆上的新创建的Car类的大小?生成(组装)CIL代码的实际大小。例如,ret指令具有字节码表示形式2A。stloc.0还占用1个字节,newobj

当查看编译后的CIL时,我注意到编译后的CIL中包含了代码大小。它被注释掉了。下面是一个例子

C#:

CIL:


代码大小代表什么?

这只是CIL以字节码形式占用的字节数


(看看您的示例:您可以看到最后一条指令(
ret
)从字节偏移量6(
IL\u 0006:
)开始。由于字节码流的总长度为6+1=7字节。)

您的意思是什么?这是生成代码的实际大小,还是将放在托管堆上的新创建的Car类的大小?生成(组装)CIL代码的实际大小。例如,ret指令具有字节码表示形式
2A
。stloc.0还占用1个字节,newobj指令是1个字节,后跟4个字节的methoddef。
static void MakeACar()
{
Car myCar = new Car();
}
.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
}