相关疑难解决方法(0)

是.NET应用程序中需要的ret指令吗?

我注意到C#编译器retvoid方法结束时生成一条指令:

.method private hidebysig static void Main(string[] args) cil managed
{
    // method body
    L_0030: ret 
} 
Run Code Online (Sandbox Code Playgroud)

我已经为.NET编写了一个编译器,无论我是否发出一个ret语句,它都可以工作(我已经检查了生成的IL,而且确实没有在那里).

我只是想知道:是否需要ret返回void任何方法?它似乎对堆栈没有任何作用,所以我认为这对于void方法来说完全没有必要,但是我想听听那些对CLR有更多了解的人的消息?

.net c# clr

19
推荐指数
3
解决办法
1025
查看次数

标签 统计

.net ×1

c# ×1

clr ×1