托管形象的理解

简单地说,运行在.NET   CLR上的代码就叫托管代码。所谓托管,可以理解成委托别人管理,这个别人在.NET framework 里面就是CLR.

 

形象的比喻,托管解释就是不用你管,就象以前的托儿所  ,由了托管后(托儿所),你的程序(Baby)要申请的资源(要吃饭)和要释放的资源(排泄)都由托管(托儿所)处理,这时,你就不用担心内存泄漏(拉到裤子上)的问题了!

 

到.NET时代(其实早就有,如VB、JAVA,只是很多人没有在意),软件编程有两种结果:基于ASSEMBLE的传统编程和基于伪代码(或者说中间代码)的编程。   
    
 VC的一般编译是传统编译为机器码了,有了.NET,VC增加了对中间代码编译结果的支持。   
    
 所谓托管也叫受管,就是说编译后的代码是受到安全管理的,这个管理的机器就是.NET的框架系统。   
    
VC.NET开发托管程序和用VB.NET、C#开发程序的结果是一样的,因为在C#、VB.NET中,不能编译成非托管的代码,所以对托管这个词讨论较少。   
    
 VC.NET支持这两种编译结果,就类似以前的VB。但一点区别是,VC项目要么是托管的要么是非托管的,托管的项目不能编译为非托管的,同样非托管的项目也不能编译为托管的,因为他们的区别在写代码的时候就有,而不象VB是在编译时决定。  

托管的项目不能编译为非托管的,同样非托管的项目也不能编译为托管的,因为他们的区别在写代码的时候就有。在写代码的时候,如果是非托管的,通常使用MFC类库,VC.NET同VC6区别不大,如果是托管的,那么象C#一样,使用的是.Net   FrameWork的类库。将代码交给CLR  

你可能感兴趣的:(托管形象的理解)