托管代码:
运行在CLR上的代码,成为托管代码.例如: C#编译为中间语言IL.IL在公共语言运行时(CLR)上运行.
CLR相当于一个容器,提供安全检查,垃圾回收,JIT编译等功能.JIT根据不同的CPU得到的是不同的机器码.所以可以在不同的CPU上运行C#变异成的代码(IL).
运行时,通过JIT(Just In Time)编译为机器语言.(CLR提供JIT编译器).CLR还提供垃圾回收和安全检查.
非托管代码:
不是运行在CLR上的代码,成为非托管代码.如C++代码.非托管不享受托管代码的功能,例如垃圾回收,需要调用操作系统的垃圾回收机制.