托管代码是由公共语言运行时管理其执行的代码。它获取托管代码并将其编译为机器代码。之后,执行代码。
此处的运行时(即CLR)提供自动内存管理,类型安全性等。
托管代码使用在.NET之上运行的高级语言编写。可以是C#,F#等。使用任何一种语言使用其编译器编译的代码都不会生成机器代码。但是,您将获得由运行时编译和执行的中间语言代码。
C / C ++代码(称为“非托管代码”)没有该特权,该程序是二进制文件,由操作系统加载到内存中,其余的程序员必须照顾。
C ++还可以生成在Windows上运行的非托管二进制文件。
C#允许使用不安全的上下文直接在代码中进行非托管构造(如指针)。它设置一段不由CLR管理执行的代码。