成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

淺談C#中間語言和元數(shù)據(jù)

開發(fā) 后端
這里介紹C#中間語言和元數(shù)據(jù),由C#編譯器生成的受管代碼并不是原始代碼,但它是中間語言代碼。這種中間語言代碼自身變成了NGWS runtime的受管執(zhí)行進程的入口。

NGWS Runtime

NGWS和NGWS Runtime為你提供了一種運行時環(huán)境。該運行時管理執(zhí)行代碼,并提供了使編程更容易的服務(wù)。只要你的編譯器支持這種運行時,你就會從這種受管理的執(zhí)行環(huán)境中得益。

你猜測C#編譯器支持NGWS runtime很正確,但是不僅它支持NGWS runtime,VB和C++也支持。這些為支持運行時所創(chuàng)建的代碼稱作"受管代碼"(managed code)。以下是你的應(yīng)用程序從NGWS runtime那里所得到的利益:
◆交叉語言集成(通過通用語言規(guī)范)
◆自動內(nèi)存管理(垃圾收集)
◆交叉語言異常處理(統(tǒng)一展開)
◆增強安全(包括類型安全)
◆版本支持("DLL地獄"終結(jié)者)
◆組件交互簡化模式

因NGWS runtime 要提供了所有的這些好處,編譯器必須把元文件和受管代碼一起發(fā)出。元文件描述代碼中的類型,它和你的代碼存在一起(與PE類似——PE為可變位執(zhí)行文件)

正如你從很多種交叉語言功能所看到的,NGWS runtime主要是關(guān)于高度集成交叉多異編程語言(tight integration across multiple different programming languages)。這種支持可達到允許你從一個VB對象派生出一個C#類的程度(我后面會給出要討論的文章)。

C#程序員將會喜歡的一個功能是,他們不必擔心內(nèi)存管理-也就是說不必擔心臭名昭著的內(nèi)存泄漏。NGWS runtime提供了內(nèi)存管理,當對象和變量的生命期結(jié)束(不再被引用)時,垃圾收集器釋放它們。我真的喜歡這個功能,因為在COM中的內(nèi)存管理一直是我的一塊心病。

應(yīng)該鼓勵配置一個管理應(yīng)用程序或者組件。因為管理應(yīng)用程序含有元數(shù)據(jù)文件,NGWS runtime可以利用這些信息,以確保你的應(yīng)用程序具有它所需的各種規(guī)定版本。所產(chǎn)生的明顯效果為,由于你的代碼沒有相互之間的依賴,很少可能出現(xiàn)中斷。

這章余下來討論NGWS runtime的C#中間語言和元數(shù)據(jù),直到你的C#應(yīng)用程序能執(zhí)行為止。

C#中間語言和元數(shù)據(jù)

由C#編譯器生成的受管代碼并不是原始代碼,但它是中間語言代碼。這種中間語言代碼自身變成了NGWS runtime的受管執(zhí)行進程的入口。中間語言代碼明顯的優(yōu)勢在于它是CPU無關(guān)的,這也意味著,你要用目標機器上的一個編譯器才能把中間語言代碼轉(zhuǎn)換成原始代碼。

盡管中間語言代碼由編譯器產(chǎn)生,但它并不是編譯器提供給運行時僅有的東西。編譯器同樣產(chǎn)生有關(guān)你代碼的元數(shù)據(jù),它告訴運行時有關(guān)你代碼的更多的東西,例如各種類型的定義、各種類型成員的簽名以及其它數(shù)據(jù)。基本上,元數(shù)據(jù)是類型庫、注冊表內(nèi)容和其它用于COM的信息。盡管如此,元數(shù)據(jù)還是直接和執(zhí)行代碼合并在一起,并不處在隔離的位置。

C#中間語言和元數(shù)據(jù)存放于擴展了PE格式的文件中(PE格式用于。exe和。dll文件)。當這樣的一個PE文件被裝載時,運行時從文件中定位和分離出中間語言和元數(shù)據(jù).

在進一步說明之前,我想給你已有的中間語言指令的簡短目錄。盡管它不是一個完整的清單,也不需要你熟記和理解,但是它列出了你所必需的、C#程序所基于的知識基礎(chǔ)。
◆算術(shù)和邏輯操作符
◆控制流
◆直接內(nèi)存訪問
◆堆棧操作
◆參數(shù)和局部變量
◆堆棧分配
◆對象模式
◆實例類型值
◆臨界區(qū)
◆數(shù)組
◆分型位置
◆即時編譯器(JITters)

【編輯推薦】

  1. 介紹Mono C#編譯器
  2. C#運算符重載學(xué)習(xí)總結(jié)
  3. 概述C#語言的結(jié)構(gòu)體
  4. C#遺傳算法學(xué)習(xí)筆記
  5. 討論C#分部方法
責(zé)任編輯:佚名 來源: 51CTO.com
相關(guān)推薦

2010-06-17 11:51:20

java.net DLLC#

2009-08-14 16:46:44

C#元數(shù)據(jù)

2011-09-21 10:56:31

C#結(jié)構(gòu)

2009-08-20 18:30:33

C# ReaderWr

2009-10-30 14:21:00

VB.NET開發(fā)語言

2009-08-26 13:15:38

C#選擇控制

2009-08-20 10:24:52

C#開發(fā)WinForm

2009-08-14 17:58:05

C#接口方法

2009-08-25 16:16:43

C# oledbcon

2009-08-26 15:46:01

C#匿名類型

2009-09-02 15:41:21

C# HTTPWebR

2009-08-06 15:30:23

C#類型系統(tǒng)

2009-08-19 17:12:18

C# Connecti

2009-08-07 11:26:53

C#數(shù)組結(jié)構(gòu)

2009-08-12 11:24:25

C# String對象

2009-08-31 09:37:09

C# Employee

2009-08-10 10:04:25

C#抽象類C#接口

2009-09-07 13:29:30

C#計算素數(shù)序列

2009-08-07 17:32:17

C#編譯程序

2009-08-18 09:06:41

C#對象和集合
點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 一级黄色影片在线观看 | 成人免费视屏 | 国产精品久久国产精品 | 亚洲小视频 | 99精品欧美一区二区蜜桃免费 | 国产精品久久久久久久久免费软件 | h视频在线观看免费 | 亚洲天堂中文字幕 | 欧美亚洲一区二区三区 | 久久久久久久成人 | 日韩欧美日韩在线 | 免费国产一区二区视频 | 先锋av资源在线 | 日韩免费视频一区二区 | 天堂av在线影院 | 成人久久久 | 天天躁日日躁狠狠躁2018小说 | 高清人人天天夜夜曰狠狠狠狠 | 久久久久久国产精品免费免费 | 污片在线免费观看 | 久久综合伊人一区二区三 | 成人h动漫精品一区二区器材 | 中文字幕视频在线观看 | 91视频免费在观看 | 国产精品成人久久久久 | 免费黄色在线 | 91精品国产91久久久久久密臀 | 成人影院在线 | 精品久久香蕉国产线看观看亚洲 | 亚洲一区二区三区在线播放 | 日韩精品久久久久 | 亚洲欧美国产精品久久 | 成人国产精品一级毛片视频毛片 | 日日夜夜免费精品 | 黄a在线观看 | 日韩三级 | 国产综合视频 | 欧美成人精品激情在线观看 | 巨大黑人极品videos精品 | 男女啪啪高潮无遮挡免费动态 | 日韩欧美亚洲 |