C#溫故而知新學習系列之.NET運行機制—3-.NET中託管代碼是指什麼?

        託管代碼

  託管代碼就是基於.NET元數據格式的代碼,運行於.NET平臺之上,所有的與操作系統的交換由.NET平臺來完成,就像是把這些功能委託給.NET,所以稱之爲託管代碼

  由公共語言運行庫環境執行的代碼,而不是直接由操作系統執行的代碼,託管代碼應用程序可以獲得公共語言運行庫CLR的服務,例如自動垃圾回收,運行庫類型檢查,安全支持等服務,這些服務幫助提供獨立於平臺和語言的,統一的託管代碼應用程序行爲

  託管代碼不必再擔心內存分配,類型安全,公共語言運行時環境管理目標的執行,使用C#或者VB.NET等這些語言編寫的代碼被稱爲託管代碼,託管代碼總是彙編成一箇中間語言(MSIL 簡稱IL)
  這些編譯器使用.NET框架把託管代碼編譯成一箇中間語言和產生必要的元數據和信息

  託管代碼就是Visual Basic .NET和C#編譯器編譯出來的代碼,編譯器把代碼編譯成中間語言(MSIL 簡稱IL),而不是能直接在你的電腦上運行的機器碼,中間語言被封裝在一個叫程序集(assembly)的文件中,程序集中包含了描述你所創建的類,方法和屬性(例如安全需求)的所有元數據,這個程序集是.NET世界中的一個一站式購物部署單元,你可以拷貝這個程序集到另一臺服務器上部署它--通常來說,這個拷貝的動作就是部署流程中唯一的一個操作,託管代碼在公共語言運行庫(CLR)中運行。這個運行庫給你的運行代碼提供各種各樣的服務,通常來說,他會加載和驗證程序集,以此來保證中間語言的正確性,當某些方法被調用的時候,運行庫把具體的方法編譯成適合本地計算機運行的機器碼,然後會把編譯好的機器碼緩存起來,以備下次調用(這就是即時編譯)

每天學習一點點,每天進步一點點 用文字記錄工作,用文字記錄人生
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章