公共語言運行時就是按照CLI標准制作的執行托管代碼的環境.CLR 能運行非托管代碼。
公共語言運行的功能:代碼JIT/AOT編譯、 內存管理 、垃圾回收、異常處理、反射服務、安全服務、程序集加載、本機互操作
.net公共語言運行時CLR :例如 Mono、.NET Framework框架下的CLR2.0 CLR4.0; .NET Core/.NET 5+ 下的coreCLR4.0; Xamarin
托管代碼與 非托管代碼
托管代碼:-MSIL(中間語言)形式的代碼是在語言編譯器編譯后開發的,並由被CLR
調用的托管代碼直接執行。例如:-.net框架支持所有61種語言代碼
非托管代碼:-之前開發的代碼,.net
其MSIL形式不可用,而是CLR
直接由其執行CLR
將其重定向到操作系統,這稱為非托管代碼。
例如:-COM,Win32 API