知识积累

一、托管代码与非托管代码

托管代码:microsoft 的中间语言(IL),主要作用在.NET Framework的公共语言运行库(CLR)执行代码前去编译源代码,也就是说托管代码充当着翻译的作用

两个阶段:源代码便以为托管代码  托管代码便以为microsoft的平台专用语言。

编译器把代码编译成中间语言(IL),而不是能直接在你的电脑上运行的机器码。中间语言被封装在一个叫程序集(Assembly)的文件中。

非托管代码:Visual Studio .NET2002 发布之前所创建的代码,可以直接编译成目标计算机的机械码,不能享受一些运行库所停工的服务,例如 安全和内存管理等。如果非托管代码需要进行内存管理等服务,就必须显式调用操作系统的接口。非托管程序回通过COM接口来或去操作系统服务。

区别:

   1、托管代码是一种中间语言,运行在CLR(公共运行库)上;

       非托管代码被编译为机器码,运行在机器上。

   2、托管代码独立于平台和语言,能更好的实现不同语言平台之间的兼容

       非托管代码以来于平台和语言

   3、托管代码可享受CLR提供的服务(如安全检测、垃圾回收等),不需要自己完成这些操作

        非托管代码需要自己提供安全检测、垃圾回收等操作

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值