在线看毛片视频-国产免费av在线-欧美日韩一区二区三区-国产成人无码av在线播放无广告-亚洲人va欧美va人人爽-国产第一草草-西班牙黄色片-四虎在线网站8848-最新av片免费网站入口-东京热无码中文字幕av专区-日本大人吃奶视频xxxx-欧美精品一区二区三区四区五区-国产片天天弄-国产免费内射又粗又爽密桃视频-欧美爱爱网站-日韩v欧美

當前位置:雨林木風下載站 > 技術開發教程 > 詳細頁面

.net框架程序設計讀書筆記二(Microsoft .net 框架開發平臺體系架構)

.net框架程序設計讀書筆記二(Microsoft .net 框架開發平臺體系架構)

更新時間:2022-05-03 文章作者:未知 信息來源:網絡 閱讀次數:

第一章:Microsoft .net 框架開發平臺體系架構



本章的目標:對.net框架體系架構有一個總體的認識,并對.net框架中出現的一些新的技術和術語有一個基本的了解。



1.1 將源代碼編譯為托管模塊

關于編程語言的選擇

.net框架的核心是通用語言運行時,顧名思義它是一個可被各種不同的編程語言所使用的運行時。CLR的很多特性可用于所有面向它的編程語言,如果CLR用異常來報告錯誤,那么所有面向它的語言都將通過異常來得到錯誤報告。如果CLR允許我們創建線程,那么所有面向它的語言也都可以創建線程。

實際上CLR在運行時對開發人員用何種編程語言來完成源代碼一無所知。這意味著我們應該選擇那些能夠最容易表達我們意圖的編程語言。我們可以用任何自己喜歡的語言(面向CLR的)來編寫代碼。

不同的編程語言允許我們使用不同的語法進行開發,不同的語法對于我們解決各種問題的難易程度是有影響的,例如:對于數學或者金融應用,彩用APL語法更快。



微軟已經創建了以下幾種面向CLR的編譯器 :

托管擴展C++

C#

Visual Basic

Jscript

J#

IL匯編器



我們可以用任何支持CLR的編程語言來創建源代碼文件。然后用相應的編譯器來做語法檢查和源代碼分析。最后生成托管橡塊。



托管模塊



托管模塊是一個需要CLR才能執行的標準Windows可移植可執行(Portable executable,簡稱PE)文件。



托管模塊的組成部分:

l PE表頭

標準Windows PE文件表頭,類似于通用對像文件格式表頭。該表頭指出了文件的類型:GUI(圖形用戶界面),CUI(控制臺用戶界面),或者DLL. 此處的DLl并非我們理解的傳統的windows 動態鏈接庫文件,雖然都叫DLL,但,net平臺中的DLL指程序集文件的一種形式),該表頭還包含文件創建時間。對于包含CPU代碼的模塊,該表頭還會包含有關本地CPU代碼的一些信息



l CLR表頭

包含標識托管模塊的一些信息(可以被CLR或者一些實用工具解析)。

1、 CLR版本號

2、 托管模塊入口點方法(Main方法)的元數據標記

3、 托管模塊的元數據標記

4、 資源

5、 強命名

6、 其他一些意義不是太大的信息的位置和尺寸



l 元數據

每個托管模塊都包含有一些元數據表。元數據表主要分兩種,一種用于描述源代碼中定義的類型和成員,一種用于描述源代碼中的引用類型和成員。



l 中間語言(IL)和代碼

編譯器在編譯源代碼是產生的指令。CLR在運行時會將IL代碼編譯成本地CPU指令



元數據(metadata)就是一個數據表的集合,在這些表中,其中一些用于描述托管模塊中所定義的內容(比如所定義的類型和它們的成員,另外一些用于描述托管模塊中引用的內容(比如被引用的類型和它們的成員)。元數據總是和包含IL代碼的的文件相關聯。



元數據的用處:

1、 省去了源代碼編譯時對頭文件和庫文件的需求,

2、 Visual Studio .Net可以利用元數據來輔助我們編寫代碼。智能感知就是這樣做的。

3、 可以序列化和反序列化

4、 垃圾收集器可以追蹤對像的生存期。





1.2 將托管模塊組合為程序集

CLR實際上并不和托管模塊打交道,它直接打交道的對象是程序集(assembly).程序集是一個抽象的概念,剛開始往往很難理解。首先,程序集是一個或多個托管模塊,以及一些資源文件的邏輯組合。其次,程序集是組件復用,以及實施安全策略和版本的最小單位。根據我們對編譯器和相關工具所做的選擇,程序集可以是一個文件或者多個文件。

默認情況下,編譯器會將產生的托管模塊轉換為一個程序集。也就是說,c#編譯器產生的是一個我包含了清單的托管模。其中的清單表明程序集中僅包含一個文件。對于僅包含一個托管模塊,并且沒有資源(或者數據)文件的項目來說,程序集就是托管模塊,而且在創建過程中,不需要執行任何其他的步驟。

程序集中的模塊還包含它所引用的程序集的一些信息(如版本號信息)。這些信息使得一個程序集得以實現自描述(self-describing)。換句話說,CLR知道執行一個程序集所需要的所有內容,它不需要再在注冊表或者活動目錄中獲取額外的信息。因此,程序集的部署要比非托管組件的部署容易得多。

1.3加載通用語言運行時

一個程序集或者是一個可執行應用程序,或者是一個包含供可執行應用程序使用的一組類型(組件)的DLL。CLR負責管理包含在程序集中的代碼的執行。這意味著宿主機器必須安裝.net框架。微軟已經創建了一個可以將.net框架免費安裝到客戶機上的分發包。.net框架最終會和將來的Windows打包在一起,這樣我們就不需要將它和我們的程序集放在一起來發布了。

我們可以通過在%windir%\system32目錄下查找MSCorEE.dll文件來判斷一個機器中是否安裝了.NET框架。如果想確定一個機器中安裝了哪些版本的.NET框架,可以查看下面的注冊表鍵的子鍵:

HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ .NETFramework \ policy



當生成一個EXE程序集時,編譯器/鏈接器會產生一些特殊的信息,并將它們嵌入到結果程序集的PE文件表頭及其各個組成文件的.text部分。當EXE文件被調用時,這些特殊的信息將導致CLR被加載并初始化。CLR隨后會定位至應勝程序的入口點方法,從面以此來啟動應用程序。



類似地,如果是一個非托管應用程序通過調用LoadLibrary來加載一個托管程序集,那么該托管程序集DLL的入口點函數也會知道去加載CLR來處理包含在其中的代碼。



托管EXE加載并初始化CLR的過程

1. MSCorEE檢查CLR表頭以獲得Main方法的元數據標記。

2. MSCorEE 檢查Main方法的元數據以獲得其IL在托管EXE中的位置。

3. MSCorEE 將Main方法的IL編譯成本地CPU指令。

4. MSCorEE跳轉到Main方法編譯后的本地CPU指令上(使用主線程)

5. 應用程序開始運行。



托管DLL的情形

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統下載排行

在线看毛片视频-国产免费av在线-欧美日韩一区二区三区-国产成人无码av在线播放无广告-亚洲人va欧美va人人爽-国产第一草草-西班牙黄色片-四虎在线网站8848-最新av片免费网站入口-东京热无码中文字幕av专区-日本大人吃奶视频xxxx-欧美精品一区二区三区四区五区-国产片天天弄-国产免费内射又粗又爽密桃视频-欧美爱爱网站-日韩v欧美
  • <li id="86scu"><menu id="86scu"></menu></li>
    <li id="86scu"></li>
    <button id="86scu"></button>
  • <s id="86scu"></s><button id="86scu"><menu id="86scu"></menu></button>
  • 性欧美在线视频| 黄色一级片国产| 日韩精品手机在线观看| 免费看一级大黄情大片| 亚洲午夜精品一区| 国内精品视频一区二区三区| 波多野结衣免费观看| 日韩欧美黄色大片| 每日在线观看av| 嫩草影院中文字幕| 国产精品免费看久久久无码| 国产性生活一级片| 欧美大片在线播放| 天天干天天色天天爽| 性欧美极品xxxx欧美一区二区| 99在线精品免费视频| 久久综合久久网| 精品成在人线av无码免费看| 免费在线精品视频| 草草草视频在线观看| 毛片av在线播放| 亚洲熟妇无码av在线播放| 国产高清不卡无码视频| 少妇一晚三次一区二区三区| 国产女人18毛片| 中国丰满熟妇xxxx性| 欧美 日韩 国产精品| 成人小视频在线观看免费| 欧美一级中文字幕| 日韩亚洲欧美视频| 免费观看日韩毛片| 在线观看免费成人av| 性欧美1819| 9色视频在线观看| 国产亚洲欧美在线视频| 男女爽爽爽视频| 欧美一级免费在线观看| 青草网在线观看| 亚洲综合在线网站| 日韩亚洲在线视频| 亚洲精品第三页| 日韩精品免费一区| 波多野结衣av一区二区全免费观看 | 免费在线激情视频| 日韩成人三级视频| 狠狠热免费视频| 亚洲精品天堂成人片av在线播放| 欧美在线观看www| 手机免费av片| 日韩人妻无码精品久久久不卡| 欧美日韩在线中文| 黄色一级片网址| 欧美一级在线看| www.久久com| 日本不卡在线观看视频| 性欧美极品xxxx欧美一区二区| 国产又大又长又粗又黄| www.av91| 公共露出暴露狂另类av| 久草在在线视频| 国产 欧美 日韩 一区| av五月天在线| 久久国产成人精品国产成人亚洲| 日本黄色福利视频| 国产免费人做人爱午夜视频| 精品日韩久久久| 成人一对一视频| 国产精品av免费| 精品少妇在线视频| 手机看片福利日韩| 国产综合免费视频| 欧美性大战久久久久xxx | 免费欧美一级视频| 国产欧美精品aaaaaa片| 天堂av在线8| 香蕉视频999| av在线无限看| 爱情岛论坛vip永久入口| 国产成人无码精品久久久性色| 日韩欧美猛交xxxxx无码| 男女爱爱视频网站| 精产国品一二三区| www.亚洲一区二区| 污污视频在线免费| 一级黄色免费在线观看| 激情在线观看视频| 青少年xxxxx性开放hg| 樱空桃在线播放| 青草网在线观看| 欧美视频在线观看网站| 3d动漫一区二区三区| 欧妇女乱妇女乱视频| 国产日韩欧美大片| 男人添女荫道口喷水视频| 欧美久久久久久久久久久久久久| 无颜之月在线看| 国产曰肥老太婆无遮挡| 欧美精品一区免费| 成人亚洲视频在线观看| 国产91色在线观看| 色呦呦网站入口| 婷婷无套内射影院| wwwxxx黄色片| 8x8x成人免费视频| 欧美午夜小视频| 日本va中文字幕| 亚洲精品国产久| 国产男女免费视频| 一本色道久久亚洲综合精品蜜桃| 中文字幕在线视频一区二区| www成人免费| 亚洲美免无码中文字幕在线| 蜜臀精品一区二区| 福利在线一区二区三区| 97超碰人人爱| 国产激情在线观看视频| 熟女视频一区二区三区| 37pao成人国产永久免费视频| 一区二区三区四区毛片| 免费国产a级片| 91aaa精品| 成年人网站大全| 免费日韩在线观看| 色播五月激情五月| 成年人视频观看| 国产四区在线观看| 污片在线免费看| 黄色一级在线视频| 99热一区二区三区| www.亚洲高清| 欧美午夜小视频| 一区二区三区入口| 日韩av一卡二卡三卡| 黄色影院一级片| 国产www免费| 特级毛片在线免费观看| 一区二区三区韩国| 国产熟人av一二三区| 欧美 亚洲 视频| 黑人巨大国产9丨视频| 成年网站在线播放| 三级4级全黄60分钟| 超碰成人免费在线| 欧洲精品视频在线| 亚洲天堂一区二区在线观看| 日本一二区免费| 黑人粗进入欧美aaaaa| 免费av手机在线观看| 宅男噜噜噜66国产免费观看| 韩国日本在线视频| 久草综合在线观看| 日韩一级在线免费观看| 少妇高清精品毛片在线视频| 波多野结衣家庭教师在线| 黄页免费在线观看视频| 成人性免费视频| 国产 福利 在线| 日韩av一二三四| 国产三级日本三级在线播放| 午夜精品在线免费观看| 手机在线成人免费视频| 不卡中文字幕在线观看| 青娱乐国产精品视频| 国内av免费观看| www.欧美黄色| 91成人在线视频观看| 精品国偷自产一区二区三区| 黄色网页免费在线观看| 四虎永久在线精品无码视频| 男人透女人免费视频| 性做爰过程免费播放| 成人免费视频久久| 国产一区二区三区乱码| 国产精品视频黄色| 免费观看国产精品视频| 亚洲最新免费视频| 国产又大又黄又粗的视频| 欧美国产日韩激情| 欧洲在线免费视频| 欧美女人性生活视频| 欧美乱做爰xxxⅹ久久久| 97超碰成人在线| 国产免费视频传媒| 久久久亚洲精品无码| 丰满人妻一区二区三区53号| 午夜啪啪小视频| 亚洲性图一区二区| 福利在线一区二区三区| 波多野结衣家庭教师视频 | 久久久久久免费看| 狠狠精品干练久久久无码中文字幕| 天堂社区在线视频| 在线视频日韩一区| 无码内射中文字幕岛国片| 黄色片视频在线免费观看| 无码专区aaaaaa免费视频| 免费人成在线观看视频播放| 777久久精品一区二区三区无码| 亚洲欧美日韩一二三区| 免费黄频在线观看|