标签:
1、托管代码是Microsoft的中间语言,作用是.NET FRAMEWORK的运行时环境CLR执行代码前去编译源代码,充当翻译的作用;
2、简单的说,就是托管代码被编译成中间语言MSIL后在.NET的Framework下运行,同操作系统底层的交互都交给Framework去做。所谓非托管代码就是脱离了Framework的管制,直接同底层API打交道,自己管理自己的内存和安全机制等东西。而托管代码不管这些,全都有Framework去完成;
3、托管程序是需要通过访问公共语言运行时cls才能访问操作系统的程序,而非托管程序不用通过访问公共语言运行时cls可以直接访问操作系统的程序;如果非托管代码需要进行内存管理等服务,就必须显式地调用操作系统的接口,通常来说,它们会调用Windows SDK所提供的API来实现。就最近的情况来看,非托管程序会通过COM接口来获取操作系统服务。
4、Visual Basic .NET和C#只能产生托管代码;
5、托管数据:由公共语言运行库的垃圾回收器分配和释放的数据。默认情况下,C#、Visual Basic 和 JScript .NET 数据受托管。
标签:
原文地址:http://www.cnblogs.com/qi123/p/4628696.html