码迷,mamicode.com
首页 > 其他好文 > 详细

托管代码和非托管代码的概念

时间:2015-07-08 00:18:48      阅读:164      评论:0      收藏:0      [点我收藏+]

标签:

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!