通用中間語言

通用中間語言

通用中間語言(Common Intermediate Language,簡稱CIL)(曾經被稱為微軟中間語言或MSIL)是一種屬於通用語言架構和.NET框架的低階(lowest-level)的人類可讀的程式語言。目標為.NET 框架的語言被編譯成CIL,然後彙編成位元組碼。CIL類似一個面向對象的彙編語言,並且它是完全基於堆疊的。它運行在虛擬機上,其主要的語言有C#、Visual Basic .NET、C++/CLI以及 J#。
在.NET語言的測試版中,CIL原本叫做微軟中間語言(MSIL)。由於C#和通用語言架構的標準化,位元組碼現在已經官方地成為了CIL。因此,CIL仍舊經常與MSIL相提並論,特別是那些.NET語言的老用戶。

概述

在編譯.NET程式語言時,原始碼被翻譯成CIL碼,而不是基於特定平台或處理器的目標代碼。CIL是一種獨立於具體CPU和平台的指令集,它可以在任何支持.NET framework的環境下運行。CIL碼在運行時被檢查並提供比二進制代碼更好的安全性和可靠性。

即時編譯

即時編譯(JIT)是指位元組碼在CPU執行時被立即轉換成機器碼。轉換是在程式執行的過程中逐漸進行的。即時編譯技術提供了特定環境下的最佳化、運行時類型安全以及彙編驗證。為此,即時編譯器檢查程式集元數據中是否有非法訪問和句柄的衝突。

NGEN

編譯本機映像生成器 (Ngen.exe) 是一個提高託管應用程式性能的工具。Ngen.exe 創建本機映像(包含經編譯的特定於處理器的機器代碼的檔案),並將它們安裝到本地計算機上的本機映像快取中。運行庫可從快取中使用本機映像,而不是使用實時編譯器編譯原始程式集。

相關詞條

熱門詞條

聯絡我們