托管顾名思义,托管的代码。
它不由操作系统直接运行生成目标文件,而是有CLR生成中间文件在部署的时候生成目标文件,这样有利于跨平台的调用和跨平台开发。
例子么,.net环境下开发的所有代码都是托管生成的,自己看。
和Java差不多,并非机器直接识别的,需要虚拟机支持
首先,。Net编译出来的exe或dll并不是本机代码,而是一种中间语言,它仅能被。Net平台识别
当双击一个。Net的exe后,。Net平台会在后台对他进行再次编译成本机能识别的运行代码,并运行。
运行的时候程序所需的资源和方法,也都是有。Net平台提供的。程序不能超出。Net平台的限制。
当然。Net程序可以通过直接调用API函数,超出。Net平台的限制和管理。
托管 就是.netframework 作为托管的平台,支持.net下各种语言开发的程序,语言不是直接由操作系统来运行,而是先通过CLR翻译成IL代码 操作系统运行的是 IL代码 ,就相当于 C#或VB.net 等语言 多了一个翻译 。
可以简单的理解为:
由CLR直接管理资源的释放,不需要像C++ 那样由程序员去手动释放内存
但是像数据库连接、文件句柄,这些资源是要由程序员去手动释放的,所以他们称为非托管的