托管代码(Managed Code)和非托管代码(Unmanaged Code)有什么区别

2023-06-29   


托管代码(Managed Code) 是由 公共语言运行库(CLR common lanaguage runtime)执行的代码,而不是由操作系统直接执行。托管代码也可以调用CLR的运行库服务和功能,比如GC、类型检查、安全支持等等。这些服务和功能提供独立与开发语言的,统一的Managed Code应用程序行为。
   托管代码可以使用20多种支持.NET Framework的语言代码, 包括C#, J#, VB.NET, JScript.NET以及C++等等,这些语言贡献.net框架的类库,而且可以被编译成中间语言。 运行库编译器在托管执行环境下编译中间语言使这些语言成为可以执行的代码,并提供数组便见和索引检查,异常处理,垃圾回收等等功能以保证类型的安全。
   使用托管代码可以避免很多程序的错误,同时也增强了程序代码的安全性。程序员可以花更多的时间在逻辑设计并减少代码量,同事也意味者缩短开发时间和提供更健壮的程序。
   非托管代码不由CLR公共语言运行库执行,而是由操作系统直接执行的代码。 非托管代码必须自己提供垃圾回收,类型检查,安全支持等等服务。


相关内容:

  1. 什么叫应用程序域?什么是托管代码?什么是强类型系统?什么是装箱和拆箱?什么是重载?CTS、CLS和CLR分别作何解释?
  2. .NET是怎么支持多种语言的
  3. 如何手工释放资源
  4. 什么是托管函数?托管函数有什么用?
  5. 2023中国建设银行托管运营中心校园招聘程序
  6. 湖南省 关于调整省本级档案托管人员初级职称个人申报时间的通知