第一章 CLR的執行模型

2022-04-28 15:39:12 字數 1074 閱讀 2799

概念篇

可由多種程式語言使用的執行環境,提供記憶體管理、程式集載入、安全性、異常處理和執行緒同步等支援。

規範化的型別定義和管理,比如:字段、方法等, 又比如繼承等特性。

針對clr/cts定義的最基本的組建。

標準的32位mircorsofte windows 可移植執行提(pe32)檔案、或者是標準的64位windows 可移植執行體(pe32+)檔案。

編譯器編譯源**是生成的**

乙個或多個模組、資源檔案的邏輯性分組

clr執行模型

程式的編譯過程

說明:步驟1:c#編譯器將c#原始檔編譯為託管模組

步驟2:將生成的託管模組編譯為程式集

clr是針對程式集進行工作。

在細說託管模組和程式集的構成

託管模組

pe32或pe32+

標準的windows pe檔案頭

標識了檔案型別,包括gui、cui、或者dll,幷包含乙個時間標記來指出檔案的生成時間

clr頭

包含使這個模組成為託管**的資訊,頭中包含clr版本、一些標識,託管模組入口方法(main)的methoddef元資料token以及模組的元資料、資源、強名稱,一些標識及其他不太重要的資料項的位置和大小。

元資料主要是兩種表:一種表述源**中定義的型別和成員;一種描述源**中引用的型別和成員。

il**

編譯器將源**生成的中間**。

2、程式集

編譯器根據pe32的清單檔案,該清單檔案中包含構成程式集的檔案,程式集中的檔案所實現的公開匯出的型別以及程式及關聯的資源和資料檔案。編譯器預設將生成的託管模組轉為程式集。

1、pe結構詳解:

2、csc.exe的命令列使用:

3、clr完全介紹:

4、clr簡單介紹(包含執行過程):

第一章 CLR執行模型

發現看過好幾遍還是會忘記,因水平有限理解的不是很到位。歡迎各位大神及時指正。clr執行模型 1.1編譯器將源 編譯成託管模組 託管模組 是標準的windows可移植執行體檔案 pe32 32位機器 或者pe32 64位機器 它們需要clr 才能執行 1.2 編譯器將託管模組合併成程式集 託管模組有四...

第一章 CLR的執行模型

編譯器將源 編譯為託管模組.託管木塊包含 pe32或pe32 頭 clr頭 元資料il 中間語言 pe32頭的檔案可在32或64位的電腦上執行,pe32 的只能在64上執行.window64位版本提供了乙個wow64的技術,允許32位的程式執行.clrver.exe能夠列出一台電腦上安裝的所有的cl...

CLR讀書筆記 第一章 CLR的執行模型

參考了jianqiang bao的筆記 1.1 將源 編譯成託管模組 1.生成什麼型別的應用程式或者組建 檔案 1 clr common language runtime 公共語言執行時 可由多種語言使用的執行時 就是乙個執行時環境 什麼是clr.參考 在clr監視下執行的程式屬於 託管的 不在cl...