讀經典——《CLR via C#》(Jeffrey Richter著) 筆記_CLR

來源:互聯網
上載者:User

標籤:

1.CLR簡介

全稱:Common Language Runtime(公用語言進行時)

屬性:一種託管模組

使用對象:面向CLR的所有語言(C#、Basic、IL...)

核心功能:記憶體管理、程式集載入、安全性、異常處理、線程同步

2. 原始碼與CLR的關係

3.CLR託管模組的組成部分

【PE32 或 PE32+ 頭】

標準 Windows 可攜式執行檔頭,類似於“公公對象檔案格式”(Common Object File Format,COFF)頭。如果這個頭使用 PE32 格式,檔案能在 Windows 的 32 位或 64 位元版本上運行。如果這個頭使用 PE32+ 格式,檔案只能在 Windows 的 64 位元版本上運行。這個頭還標識了檔案類型,包括 GUI,CUI 或者 DLL,並包含一個時間標記來指出檔案的產生時間。對於只包含 IL 代碼的模組,PE32(+) 頭的大多數資訊會被忽視。對於包含本地 CPU 代碼的模組,這個頭包含了與本地 CPU 代碼有關的資訊

【CLR 頭】

包含是這個模組成為一個託管模組資訊(可由 CLR 和一些公用程式進行解釋)。頭中包含了需要的 CLR 版本,一些標誌(flag),託管模組入口方法(Main 方法)的 MethodDef 中繼資料標記(token),以及模組的中繼資料、資源、強式名稱、一些 flag 以及其它不太重要的資料項目的位置/大小

【中繼資料】

每個託管模組都包含中繼資料表。主要有兩種類型的表:描述原始碼中定義的類型和成員的表;描述原始碼引用的類型和成員的表

【IL代碼】

編譯器編譯代碼時產生的程式碼。在運行時,CLR 將 IL 編譯成本地 CPU 指令

 

 

 

時間不早了,明天繼續~

 

讀經典——《CLR via C#》(Jeffrey Richter著) 筆記_CLR

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.