为CLR而编写以及使用CLR服务的代码叫托管代码,而那些未使用CLR服务的代码(也就是你多年以来一直编写的代码)叫
非托管代码。事实上,代码管理的概念是运行库的基本原则。以运行库为目标的代码称为托管代码,而不以运行库为目标的代码称为非托管代码。
关键是要了解CLR(
公共语言运行时) Common Language RunTime
.Net Framework 是由彼此独立又相关的两部分组成:CLR 和 类库, CLR是它为我们提供的服务,类库是它实现的功能. .NET的大部分特性----垃圾收集,
版本控制,线程管理等,都使用了CLR提供的服务
当你为.NET Framework编译
源代码的时候,得到的
目标代码不是CPU能识别的
机器指令编译器,用来把IL代码编译为本机机器代码.这样一来,CLR能够使代码变得可移植,因为.NET应用程序的源代码必须被编译为IL代码,这些IL代码可以运行在任何提供CLR服务的平台上.从CLR的角度来看,所有的语言都是平等的,只要有一个能生成IL代码的编译器就行,这就确保了各种语言的
互操作性.