教育行業(yè)A股IPO第一股(股票代碼 003032)

全國(guó)咨詢/投訴熱線:400-618-4000

C#程序的運(yùn)行過(guò)程:編譯期和運(yùn)行期

更新時(shí)間:2023年11月07日13時(shí)54分 來(lái)源:傳智教育 瀏覽次數(shù):

好口碑IT培訓(xùn)

使用C#進(jìn)行程序開(kāi)發(fā)時(shí),不僅要了解C#的特點(diǎn),還需要了解C#程序的運(yùn)行機(jī)制。下面通過(guò)一張圖描述C#程序在NET Framework中編譯和運(yùn)行的過(guò)程,如圖所示。

C#程序的編譯期和運(yùn)行期

圖中,程序的運(yùn)行過(guò)程分為兩個(gè)時(shí)期,分別是編譯期和運(yùn)行期。在編譯期,CLR對(duì)C#代碼進(jìn)行第一次編譯,將編寫(xiě)的代碼編譯成dll文件或.exe文件,此時(shí)代碼被編譯為通用中間語(yǔ)言(Common lntemmediate Language,CIL)。在運(yùn)行期,CLR會(huì)針對(duì)目前特定的硬件環(huán)境使用即時(shí)編譯(Just-in-Time,JIT),也就是將CIL.編譯成本機(jī)代碼并執(zhí)行。需要說(shuō)明的是,在運(yùn)行期,CLR將編譯后的代碼放人一個(gè)緩沖區(qū)中,當(dāng)再次運(yùn)行程序,如果使用相同的代碼時(shí),會(huì)直接從緩沖區(qū)調(diào)用編譯后的代碼。也就是說(shuō),相同的代碼只會(huì)編譯一次,從而提高C#程序的運(yùn)行速度。

0 分享到:
和我們?cè)诰€交談!