.net中托管代码的\"托管\"指的是啥

简单说,就是不用你手动分配内存,手动回收垃圾。你new出来的对象什么时候活,活多久,怎么死,完全由电脑来帮你处理。
■网友
就是这个意思,原生的本地代码只是提交CPU执行,而托管代码是要由CLR来处理的。
■网友
Managed code: Code executing under the control of the CLR is called managed code. For example, any code written in C# or Visual Basic .NET is managed code.托管代码是指在CLR下执行的代码, 比如用C# / http://VB.NET写的任何代码都是托管代码。Unmanaged code: Code that runs outside the CLR is referred to as "unmanaged code." COM components, ActiveX components, and Win32 API functions are examples of unmanaged code.在CLR之外运行的代码是非托管代码. 比如COM组件, ActiveX组件和Win32接口函数都是非托管代码。via: https://msdn.microsoft.com/en-us/library/ms973872.aspx#manunman_rcw其实“托管”的意思就是代码交给CLR执行。CLR是执行托管代码的运行时环境,托管代码用IL(Intermediate Language)表示。“托管”应该是微软提出的概念,其他语言没有托管这么一说,.Net出来之后,.Net上的语言要和Windows上的COM/ActiveX等交互,就出现了“托管”这个说法,所有在CLR上执行的代码都是托管代码(Managed Code)。PS: 这种问题最好自己先去网上搜一下


    推荐阅读