托管代码和非托管代码

什么是托管代码?

托管代码是运行在公共语言运行库上的(CLR)一个中间代码,起到编译的源代码的作用;

源代码运行时分为两个阶段:一是编译源代码为托管代码,二 托管代码编译为平台专用语言。

托管代码运行在CLR上边,这个运行库会给代码的编译提供各类服务,它会加载和验证程序集 以确保代码的编译正确。

什么是非托管代码?

简单来说非托管代码是机械代码,依赖于平台和编译出它的那台机器。不能享受运行库的各种服务。

区别:

     1、托管代码是一种中间语言,运行在CLR上;

          非托管代码被编译为机器码,运行在机器上。

     2、托管代码独立于平台和语言,能更好的实现不同语言平台之间的兼容;

          非托管代码依赖于平台和语言。

     3、托管代码可享受CLR提供的服务(如安全检测、垃圾回收等),不需要自己完成这些操作;

          非托管代码需要自己带一些服务(如安全检测、垃圾回收等)。

原文地址:https://www.cnblogs.com/qixiaolan/p/7770693.html