C#溫故而知新學習系列之.NET運行機制—.NET中Managed 程式碼是指什嗎?(三)

來源:互聯網
上載者:User

  閱讀目錄

  一:Managed 程式碼

  一:Managed 程式碼

  . Managed 程式碼就是基於.NET中繼資料格式的代碼,運行於.NET平台之上,所有的與作業系統的交換由.NET平台來完成,就像是把這些功能委託給.NET,所以稱之為Managed 程式碼

  . 由公用語言運行庫環境執行的代碼,而不是直接由作業系統執行的代碼,Managed 程式碼應用程式可以獲得公用語言運行庫CLR的服務,例如自動記憶體回收,運行庫類型檢查,安全支援等服務,這些服務協助提供獨立於平台和語言的,統一的Managed 程式碼應用程式行為

  . Managed 程式碼不必再擔心記憶體配置,型別安全,通用語言執行平台環境管理目標的執行,使用C#或者VB.NET等這些語言編寫的代碼被稱為Managed 程式碼,Managed 程式碼總是彙編成一個中繼語言(MSIL 簡稱IL)
  . 這些編譯器使用.NET架構把Managed 程式碼編譯成一個中繼語言和產生必要的中繼資料和資訊

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

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.