跳至內容

通用中央語言

出自Taiwan Tongues 台語維基
於 2025年8月22日 (五) 13:57 由 TaiwanTonguesApiRobot留言 | 貢獻 所做的修訂 (從 JSON 檔案批量匯入)

(差異) ←上個修訂 | 已批准修訂 (差異) | 最新修訂 (差異) | 下個修訂→ (差異)

通用中央語言Common Intermediate Language,簡稱CIL,發音為 " sill " 抑是 " kill ")是一種屬於通用語言架構佮 . NET 框架的低階(lowest-level)的人類會當讀的程式語言。目標為 . NET 框架的語言予人編譯做 CIL,然後彙編做字節碼。CIL 類似一个物件導向的組合語言,而且伊是完全因為疊起來的。伊運行佇咧虛擬機頂頭,其主要的語言有 C #、Visual Basic . NET ( VB . NET )、C + + / CLI 以及 J #。

佇咧 . NET 語言的測試版中,CIL 原本叫做微軟中央語言,即Microsoft Intermediate Language,簡稱MSIL。因為 C # 佮通用語言架構的標準化,佇咧 . Net 開發平台跤,所有的語言(C #、VB . NET、J #、C + + / CLI)攏會去予人編譯做 MSIL,才由 CLR 負責運行,字節碼這馬已經官方地成做 CIL。所以 MSIL 有時陣會佮 CIL 混用,特別是遐的 . NET 語言的老用戶。閣較詳細的批息會當參看微軟仔說明。

概述

咧編譯 . NET 程式語言的時陣,原始碼去予人翻譯做 CIL 碼,毋是基於特定平台抑是處理器的目標代碼。CIL 是一種獨立於具體 CPU 和平台彼指令集,伊會當佇任何支持 . NET framework 的環境下運行。CIL 碼佇運行的時陣予檢查並提供比二進位代碼閣較好的安全性佮可靠性。

即時編譯(JIT)

即時編譯是講字節碼佇咧 CPU 執行的時被隨轉換做機器碼。轉換是在程序執行的過程當中漸漸仔進行的。即時編譯技術提供了特定環境下的最佳化、運行時類型安全以及彙編驗證。為此,即時編譯器檢查程序集元數據內底敢有非法共訪問佮句柄的衝突。

NGEN(本機映像生成器)編譯

本機映像生成器(Ngen . exe)是一个提高託管應用程式性能的工具。Ngen . exe 創建本機映像(包含經編譯的特定佇處理器的機器代碼的文件), 閣共伊安裝去本地計算機頂頭的本機映像半仿中。運行庫會使對勻存中使用本機的影像,毋是使用實時編譯器編譯原始程序集。

元數據

執行 CIL

參見

  • PyPy,可將 Python 編譯做 CIL 的一套編譯器
  • Phalanger(PHP into CIL compiler)

參考文獻

外部連結

  • Hello world program in CIL
  • Kenny Kerr's intro to CIL ( called MSIL in the tutorial )
  • Common Language Infrastructure ( CLI )-Partition III-CIL Instruction Set
  • Tutorial including CIL ( called MSIL in the tutorial ) by Aleksey Nudelman
  • Common Language Infrastructure ( Standard ECMA 被三百三十五 )
  • Speed : NGen Revs Up Your Performance With Powerful New Features--MSDN Magazine , April 兩千空五
  • C # and Common Language Infrastructure Standards」on MSDN