托管代码是由
公共语言运行库(CLR)执行的代码,通过
中间语言(IL)实现,其执行过程包含两次编译:先将源代码编译为中间语言,再由CLR通过即时编译(JIT)转换为
机器码。托管代码依靠CLR提供自动内存管理、类型安全检查及垃圾回收机制,消除内存泄漏风险,支持
C#、
VB.NET等语言开发。
托管代码是可以使用20多种支持Microsoft .NET Framework的高级语言编写的代码,它们包括:
C#, J#, Microsoft Visual Basic .NET, Microsoft JScript .NET, 以及C++。所有的语言共享统一的类库集合,并能被编码成为
中间语言(IL)。运行库
编译器(runtime-aware compiler)在托管执行环境下编译中间语言(IL)使之成为本地可执行的代码,并使用
数组边界和索引检查,
异常处理,垃圾回收等手段确保类型的安全。
在托管执行环境中使用托管代码及其编译,可以避免许多典型的导致安全漏洞和不稳定程序的编程错误。同样,许多不可靠的设计也自动的被增强了安全性,例如
类型安全检查,内存管理和释放无效对象。程序员可以花更多的精力关注程序的应用
逻辑设计并可以减少代码的编写量。这就意味着更短的开发时间和更健壮的程序。
简单点说,托管代码是一microsoft的
中间语言,他主要的作用是在.NET FRAMEWORK的CLR执行代码前去编译
源代码,也就是说托管代码充当着翻译的作用,源代码在运行时分为两个阶段:
2.托管代码编译为microsoft系统的.net平台专用文件(如类库、
可执行文件等)。