分析:

非托管代码(Unmanaged Code)是指直接编译成目标计算机的机器码,这些代码只能运行在编译出这些代码的计算机上,或者是其他相同处理器或者几乎一样处理器的计算机上。

非托管代码不能享受公共语言运行库所提供的一些服务,例如内存管理、安全管理等。 

如果非托管代码需要进行内存管理等服务,就必须显式地调用操作系统的接口,通常非托管代码调用Windows SDK所提供的API来实现内存管理。

非托管程序也可以通过调用COM接口来获取操作系统服务。

注意:C#跟Visual Studio平台的其他编程语言不一样的是,C#可以创建托管程序与非托管程序。当创建的项目选择名字以MFC,ATL或者Win32开头的项目类型,那么这个项目所产生的就是非托管程序。

总结:

非托管代码(Unmanaged Code)不由CLR公共语言运行库执行,而是由操作系统直接执行的代码。

非托管代码必须自己提供垃圾回收,类型检查,安全支持等等服务。

posted on 2012-02-22 14:41  IamScree  阅读(1547)  评论(0编辑  收藏  举报