就是关于托管代码与非托管代码,现在总是明白那么一点,又不是很明白,请哪位同仁能够详细讲讲啊!!!先谢了!

解决方案 »

  1.   

    托管代码 (managed code) 
    由公共语言运行库环境(而不是直接由操作系统)执行的代码。托管代码应用程序可以获得公共语言运行库服务,例如自动垃圾回收、运行库类型检查和安全支持等。这些服务帮助提供独立于平台和语言的、统一的托管代码应用程序行为。
    如C#非托管代码 (unmanaged code)
    在公共语言运行库环境的外部,由操作系统直接执行的代码。非托管代码必须提供自己的垃圾回收、类型检查、安全支持等服务;它与托管代码不同,后者从公共语言运行库中获得这些服务。如C++,C
      

  2.   

    一个比较好理解的非托管的例子:程序中使用的数据库连接,需要程序员自己实现连接的断开(不考虑数据库系统本身的超时连接断开)。托管就比较好理解了,例如:和C++等其他语言相比,C++中的类有一个构造函数(对象的创建),同时还有一个析构函数(对象的销毁),构造函数和析构函数都需要手动调用,而在C#中只需要调用构造函数,不需要调用析构函数。
      

  3.   

    最直接的影响托管的代码运行时需要客户端安装.NET FRAMEWORK
    非托管的代码运行时不需要