什么是托管代码

什么是托管代码html

在“过去”(只是几年前),使用C和C++编写代码的开发人员不得不本身进行内存管理。当再也不须要已分配的内存空间时,必须将其释放,除非但愿该内存被“泄漏”,内存泄漏将带来严重的性能问题。更糟糕的是由于直接处理指针,而它很容易破坏项目正在使用的内存。在不少状况下,这将致使很长时间的故障调试,由于一般实际看到出错的地方并非内存初始被破坏的地方。安全

人们认为C和C++语言难于掌握,主要是由于具备不少这种类型的问题。许多开发人员不肯意尝试C和C++,也是由于这个缘由,他们尝试使用其余没有这些使人头痛问题的高级语言,例如Visual Basic。尽管这些新语言具备易用易学的优势,但也具备一些缺点。它们的性能没法与C和C++语言相比,在大多数状况下显得特别慢。另外,由于底层操做系统是使用C++开发的,因此这些语言难以实现C++的全部功能。尽管可使用它们处理不少很是好的工做,可是若是想要得到操做系统的全部性能和优点,只能依靠本身。post

与.NET运行库的第一个版本相比,.NET的大多数内容都已经改变了。Microsoft公司几乎彻底从新设计了一种新的API,竭力确保开发人员关心的问题都会被解决。这种新的运行库必须易学易用,快速高效,而且不存在使人头痛的内存管理问题。在本书中,将看到.NET在这些方面的好处。性能


托管代码 (managed code)google

1. 由公共语言运行库环境(而不是直接由操做系统)执行的代码。托管代码应用程序能够得到公共语言运行库服务,例如自动垃圾回收、运行库类型检查和安全支持等。这些服务帮助提供独立于平台和语言的、统一的托管代码应用程序行为。编码

 如C#url

2.是可使用20多种支持Microsoft .NET Framework的高级语言编写的代码,它们包括:C#, J#, Microsoft Visual Basic .NET, Microsoft JScript .NET, 以及C++。全部的语言共享统一的类库集合,并能被编码成为中间语言(IL)。IL代码再被即时编译器(JIT)转化为本地CPU指令操作系统


非托管代码 (unmanaged code) 在公共语言运行库环境的外部,由操做系统直接执行的代码。非托管代码必须提供本身的垃圾回收、类型检查、安全支持等服务;它与托管代码不一样,后者从公共语言运行库中得到这些服务。如C++,C设计

相关文章
相关标签/搜索