我對(duì)JIT編譯器的工作方式的細(xì)節(jié)有些困惑。我知道C#可以編譯為IL。第一次運(yùn)行它是準(zhǔn)時(shí)的。這是否涉及將其轉(zhuǎn)換為本地代碼?.NET運(yùn)行時(shí)(作為虛擬機(jī)嗎?)是否與JIT代碼交互?我知道這很幼稚,但我真的很困惑。我的印象一直是.NET運(yùn)行時(shí)不解釋程序集,但我不了解交互的詳細(xì)信息。
3 回答

繁華開滿天機(jī)
TA貢獻(xiàn)1816條經(jīng)驗(yàn) 獲得超4個(gè)贊
.NET使用一種稱為MSIL的中間語(yǔ)言,有時(shí)縮寫為IL。編譯器讀取您的源代碼并生成MSIL。當(dāng)您運(yùn)行該程序時(shí),.NET即時(shí)(JIT)編譯器將讀取您的MSIL代碼并在內(nèi)存中生成一個(gè)可執(zhí)行應(yīng)用程序。您不會(huì)看到任何這種情況,但是了解幕后情況是一個(gè)好主意。
- 3 回答
- 0 關(guān)注
- 1034 瀏覽
添加回答
舉報(bào)
0/150
提交
取消