.net框架为什么要进行代码托管?

来源:百度知道 编辑:UC知道 时间:2024/06/22 23:35:03
了解托管模块的组成、IL等,但不知道为什么要进行代码的托管?
托管就是动态编译吗?

托管的意思就是你的代码不是直接使用计算机的资源而是使用运行时给你分配的资源。换句话说就是托管程序不能跨过运行时去读写其他的内存或硬件资源。托管代码比本地代码更好控制,极大的减少了因为程序自身访问内存引发的内存地址冲突,硬件资源冲突等风险,降低开发难度,提高软件质量。

IL,动态编译并不是托管的特性,而是.net的特性。

托管就是通过虚拟机运行
所有的IL代码都是由CLR来托管运行的,也就是由虚拟机全权代理,但是也有一些不是,如直接调用的API,COM对象,数据连接等,托管与非托管的区别就是前者是虚拟机管理的,后者是由操作系统或其它软件所管理的