gpt4 book ai didi

c# - ildasm 和 .ldarg - 里面发生了什么?

转载 作者:太空宇宙 更新时间:2023-11-03 17:52:33 27 4
gpt4 key购买 nike

使用 c#, ,Net framework 4.5 记事本

尝试理解 CIL (IL) 语言的原理。目前创建2个简单的方法

 public static Int32 Add(Int32 a, Int32 b)
{
return a + b;
}
public Int32 Add1(Int32 a, Int32 b)
{
return a + b;
}

在ildasm.exe打开后得到了

ildasm result

问题

为什么在 Add 方法 CIL 中在堆栈 0 中加载参数,在堆栈 1 中加载参数 - 在方法 Add1 中使用堆栈 0 的地方或者我错过了什么?

最佳答案

您的第一个方法传递了两个参数,a (0) 和 b (1)。您的第二个传递了三个参数,this (0)、a (1) 和 b (2)。即使您没有使用 this,它仍然存在。

关于c# - ildasm 和 .ldarg - 里面发生了什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20151904/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com