解释:
托管代码 (managed code)
由公共语言运行库环境(而不是直接由操作系统)执行的代码。托管代码应用程序可以获得公共语言运行库服务,例如自动垃圾回收、运行库类型检查和安全支持等。这些服务帮助提供独立于平台和语言的、统一的托管代码应用程序行为。如C#、Java。
非托管代码 (unmanaged code)
在公共语言运行库环境的外部,由操作系统直接执行的代码。非托管代码必须提供自己的垃圾回收、类型检查、安全支持等服务。如C++、C。
理解:
托管代码运行于特定虚拟机上(或称为运行时runtime),如微软的CLR,SUN的Java虚拟机。
1.托管 -> 中间语言 -> 虚拟机 -> 机器代码
2.非托管 -> 机器代码