這幾天學了不少東西,想來還是應該總結一下,一來自己回顧一下,二來也怕自己忘記,在文章中,有很多東西就是借鑒別人的blog,筆者在這里對他們的無私奉獻表示感謝。筆者的語言組織能力有限,如果在文章中出現什么錯誤,在下面回復即可,謝謝。
相信學過.net的人都對.netFramework不陌生吧,這個是學習.net必須要了解的東西,下面筆者就介紹一下.netFramework ,
如上圖,我們平時寫的cs文件,經過.NetFramework,最后才和操作系統交互,這樣我們的程序才能運行起來,那么我們就很好奇,.NetFrameWork里面到底有什么東西,為什么我們寫的cs代碼經過編譯都變成了xx.dll
.NetFrameWork是由.net類庫,編譯器,和CLR組成。我們寫的cs代碼,通過.netFrameWork里面的類庫,由編譯器編譯成xx.dll 如下事例:我們新建一個cs文件在里面寫上如下代碼:
using System;
namespace FDLibrary
{
public class test
{
public string name;
}
}
打開cmd命令行,輸入如下命令:csc /t:library 1.cs csc就會把它編譯成1.dll 這個1.dll就是一個程序集,而using System就是引用的.NetFrameWork的類庫,然后由編譯器編譯成dll文件。接著程序集就會被托管到CLR中。其實我們用Reflector工具可以看一下這個生成的dll文件中到底有什么東西。
我們選擇IL代碼查看如圖:
發現這些代碼我們并不認識,但可以憑著感覺稍微看懂一點,這就是CIL公共中間語言,也就是說cs代碼被編譯成了中間語言。
CLR: common language runtime 公共語言運行時,程序有CLR管理就叫托管程序。通過CLR可以編譯中間語言,然后生成機器碼,最后由操作系統來運行機器碼,我們寫的程序才能運行起來。
新聞熱點
疑難解答