猿问

C#JIT编译和.NET

我对JIT编译器的工作方式的细节有些困惑。我知道C#可以编译为IL。第一次运行它是准时的。这是否涉及将其转换为本地代码?.NET运行时(作为虚拟机吗?)是否与JIT代码交互?我知道这很幼稚,但我真的很困惑。我的印象一直是.NET运行时不解释程序集,但我不了解交互的详细信息。



湖上湖
浏览 1004回答 3
3回答

繁华开满天机

.NET使用一种称为MSIL的中间语言,有时缩写为IL。编译器读取您的源代码并生成MSIL。当您运行该程序时,.NET即时(JIT)编译器将读取您的MSIL代码并在内存中生成一个可执行应用程序。您不会看到任何这种情况,但是了解幕后情况是一个好主意。
随时随地看视频慕课网APP
我要回答