C#中的托管代碼是什么


分析:

托管代碼(Managed Code)實際上就是中間語言(IL)代碼。

代碼編寫完畢后進行編譯,此時編譯器把代碼編譯成中間語言(IL),而不是能直接在你的電腦上運行的機器碼。

程序集(Assembly)的文件負責封裝中間語言,程序集中包含了描述所創建的方法、類以及屬性的所有元數據。

托管代碼在公共語言運行庫(CLR)中運行。這個運行庫給運行代碼提供了多種服務,通常來說,公共語言運行庫可以加載和驗證程序集,並以此來保證中間語言的正確性。

當某些方法被調用時,公共語言運行庫把具體的方法編譯成適合本地計算機運行的機器碼,並且將編譯好的機器碼緩存起來,以備下次調用時使用。這個過程就是即時編譯。 

注意:程序實際上是被“托管”在公共語言運行庫中。隨着程序集的運行,公共語言運行庫會持續地提供各種服務,例如內存管理、安全管理、線程管理等等。

總結:

托管代碼(Managed Code)是由公共語言運行庫(CLR)執行的代碼,而不是由操作系統直接執行。

托管代碼也可以調用CLR的運行庫服務和功能,比如GC、類型檢查、安全支持等等。這些服務和功能提供獨立與開發語言的、統一的Managed Code應用程序行為。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM