托管代码是什么
2013-03-15 13:43
211 查看
C#中的托管代码是什么
分析:托管代码(Managed Code)实际上就是中间语言(IL)代码。
代码编写完毕后进行编译,此时编译器把代码编译成中间语言(IL),而不是能直接在你的电脑上运行的机器码。
程序集(Assembly)的文件负责封装中间语言,程序集中包含了描述所创建的方法、类以及属性的所有元数据。
托管代码在公共语言运行库(CLR)中运行。这个运行库给运行代码提供了多种服务,通常来说,公共语言运行库可以加载和验证程序集,并以此来保证中间语言的正确性。
当某些方法被调用时,公共语言运行库把具体的方法编译成适合本地计算机运行的机器码,并且将编译好的机器码缓存起来,以备下次调用时使用。这个过程就是即时编译。
注意:程序实际上是被“托管”在公共语言运行库中。随着程序集的运行,公共语言运行库会持续地提供各种服务,例如内存管理、安全管理、线程管理等等。
总结:
托管代码(Managed Code)是由公共语言运行库(CLR)执行的代码,而不是由操作系统直接执行。
托管代码也可以调用CLR的运行库服务和功能,比如GC、类型检查、安全支持等等。这些服务和功能提供独立与开发语言的、统一的Managed Code应用程序行为。
相关文章推荐
- 什么是托管代码
- 托管、非托管、本地:这些代码有什么区别?
- 什么叫应用程序域?什么是受管制的代码?什么是托管代码?什么是强类型系统?什么是装箱和拆箱?什么是重载?CTS、CLS和CLR分别作何解释?
- 什么是com组件?什么是托管代码和非托管代码
- 什么是托管代码和托管数据
- 什么是托管代码
- 什么是托管代码?
- 什么是"托管代码"?
- 什么是托管代码和托管数据
- .NET 托管、非托管、本地:这些代码有什么区别?
- 什么是托管代码
- 什么是“托管(managed)”\ 如何与非托管代码交互?
- C#与.NET程序员面试宝典 2.1.6 面试题6:C#中的托管代码是什么
- C#温故而知新学习系列之.NET运行机制—.NET中非托管代码是指什么?(二)
- 优秀的XHTML代码看起来是什么样子的
- Git 代码托管-项目上传
- VS2010中配置coding代码托管
- 虽然保持了连续代码生产量但是仔细想想也没什么必要
- 代码托管平台网站