在线看毛片视频-国产免费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资源在线| 日本欧美黄色片| 成人在线免费观看av| 成人一对一视频| 男人和女人啪啪网站| 久久久亚洲精品无码| 91午夜在线观看| www一区二区www免费| 成人午夜视频免费在线观看| 亚洲熟妇av日韩熟妇在线| 日韩中文字幕在线视频观看| 精品少妇一区二区三区在线| 欧美日韩在线成人| 成年人三级黄色片| 熟女视频一区二区三区| 国产亚洲黄色片| 久久黄色免费看| 一本二本三本亚洲码| 国产精品国产对白熟妇| 北条麻妃av高潮尖叫在线观看| 中文字幕亚洲欧洲| 国产精品久久国产| 天天色综合社区| 超碰人人爱人人| 玩弄japan白嫩少妇hd| 手机在线国产视频| 欧美国产亚洲一区| 亚洲热在线视频| 国产特级黄色大片| 国产树林野战在线播放| 日本久久久精品视频| 日本高清免费在线视频| 久久国产亚洲精品无码| 99精品视频国产| 日本熟妇人妻xxxxx| 蜜桃视频成人在线观看| 日韩毛片在线免费看| 亚洲小说欧美另类激情| 久久久噜噜噜www成人网| 五月天视频在线观看| 欧美日韩精品在线一区二区| 污免费在线观看| 中文字幕国产传媒| 青青草成人免费在线视频| 国内av免费观看| 杨幂毛片午夜性生毛片| 91猫先生在线| 真人做人试看60分钟免费| 成年网站在线播放| 91热这里只有精品| 成人在线免费观看av| 成人小视频在线观看免费| 国产又粗又长又爽又黄的视频| 女人天堂av手机在线| 男人草女人视频| 午夜免费福利网站| 激情成人在线观看| 日韩欧美国产片| 色国产在线视频| 日本成人在线免费视频| 色综合久久久久无码专区| 精品国偷自产一区二区三区| 波多野结衣在线免费观看| www.se五月| 国产精品嫩草影院8vv8 | www.午夜av| 日本不卡一区二区在线观看| 波多结衣在线观看| 北条麻妃av高潮尖叫在线观看| www.99热这里只有精品| 欧美视频在线播放一区| 国产精品无码一区二区在线| 国产精品专区在线| 成人黄色av片| 国产精彩免费视频| 性猛交ⅹ×××乱大交| 91女神在线观看| 国产精品jizz在线观看老狼| 成人在线免费高清视频| 国产不卡一区二区视频| 国产xxxxx在线观看| 视频在线观看免费高清| 懂色av一区二区三区四区五区| 久久久成人精品一区二区三区 | 精品亚洲视频在线| 日本一道在线观看| 播放灌醉水嫩大学生国内精品| 欧美女人性生活视频| 男人的天堂最新网址| 欧美 日韩 国产精品| 欧美日韩一道本| 国产精品区在线| 99er在线视频| 国产精品人人爽人人爽| 99久久免费观看| 我要看一级黄色大片| 日韩欧美不卡在线| 潘金莲激情呻吟欲求不满视频| a级片一区二区| 午夜免费看视频| av网站大全免费| 天美一区二区三区| 日本毛片在线免费观看| 欧美xxxx吸乳| 五月婷婷六月丁香激情| www.日本在线播放| 欧美xxxx吸乳| 中文久久久久久| 乱妇乱女熟妇熟女网站| 中文字幕一区二区三区四区五区人| 乱妇乱女熟妇熟女网站| 9l视频自拍9l视频自拍| 五月婷婷丁香综合网| 久久国产成人精品国产成人亚洲| www.久久久久久久久久久| 欧美综合在线观看视频| 自慰无码一区二区三区| 搞av.com| 成人免费性视频| 欧美a级免费视频| 欧美日韩一区二区三区电影| 在线观看免费黄网站| 欧美污视频网站| 乱妇乱女熟妇熟女网站| 69精品丰满人妻无码视频a片| 99re6在线观看| 91视频这里只有精品| 久久午夜夜伦鲁鲁一区二区| 男女午夜激情视频| 欧美在线观看成人| 国产成人a亚洲精v品无码| 91免费黄视频| 日日碰狠狠躁久久躁婷婷| 37pao成人国产永久免费视频| 国产91xxx| 啊啊啊一区二区| 妓院一钑片免看黄大片| 亚洲精品视频导航| 中文字幕亚洲影院| 永久免费在线看片视频| 97在线免费视频观看| 国产成人永久免费视频| 欧美三级一级片| 亚洲色图久久久| 日韩视频在线观看一区二区三区| www.午夜av| 欧美狂野激情性xxxx在线观| cao在线观看| xxxx一级片| 日韩成人午夜影院| 国产乱子夫妻xx黑人xyx真爽| 日本久久精品一区二区| 两性午夜免费视频| 成人午夜视频免费观看| www.亚洲天堂网| 香蕉视频xxxx| 少妇无码av无码专区在线观看| 十八禁视频网站在线观看| 国产又爽又黄ai换脸| 久久国产成人精品国产成人亚洲| 日本高清久久久| 97超碰人人澡| 91日韩精品视频| 99在线精品免费视频| 日本中文字幕二区| 全黄性性激高免费视频| 日韩高清第一页| 日韩欧美国产免费| 2021国产视频| 亚洲 欧美 另类人妖| 好吊妞无缓冲视频观看| 黄色a级在线观看| 午夜欧美福利视频| 免费看欧美黑人毛片| 激情文学亚洲色图| 国产成人综合一区| 久久精品视频16| 天天综合五月天| 中文字幕精品一区二区三区在线| www黄色日本| 欧美日韩福利在线| 400部精品国偷自产在线观看| 欧美在线aaa| 欧美一级特黄a| 免费看a级黄色片| 欧美女人性生活视频| 亚洲国产精品无码观看久久| 国产大尺度在线观看| 在线播放黄色av| 亚洲免费黄色录像| 国产精品入口免费软件| 日韩av在线综合| 一级黄色香蕉视频| 国产精品97在线| 丁香婷婷激情网| 欧美一级黄色影院| 美女黄色片视频|