C# 基础——CLR、托管代码及非托管代码
应用程序的类型
-
使用.net的编程语言(C#、F#、VB)创建的应用程序,都会被编译器编译成中间语言IL语言,在CLR(公共语言运行时)中运行。
比如:控制台程序(Console)、窗口应用程序(winform、wpf),Web应用程序:ASP.NET MVC、Web API等。
-
非.net编程语言编写的程序,比如C\C++\Java\Go等语言开发的应用程序,比如Excel、QQ、Skype等
托管代码
在 CLR 完全控制下运行的代码在 .NET 中称为托管代码。
非托管代码
不在 CLR 控制下运行的代码(exe,Web app)在 .NET 中称为非托管代码。
比如:Skype,PowerPoint,MicrosoftExcel这些在非网络环境运行时就会在他们自己的环境运行
CLR的功能及作用
语言互操作性、自动内存管理、异常处理机制、代码访问安全性等。