zoukankan      html  css  js  c++  java
  • 什么是托管代码和托管数据

    转自http://www.microsoft.com/china/msdn/library/archives/library/faq111700.asp

    托管代码是编写为支持公共语言运行时服务的代码(请参阅“什么是公共语言运行时?”)。为了支持这些服务,代码必须向运行时提供最小级别的信息(元数据)。默认情况下,所有 C#、Visual Basic.NET 和 JScript.NET 代码都是托管代码。Visual Studio.NET C++ 代码在默认情况下不是托管代码,但通过指定命令行开关 (/CLR),编译器也可以生成托管代码。

    与托管代码密切相关的是托管数据。托管数据是由公共语言运行时的垃圾回收器进行分配和释放的数据。默认情况下,C#、Visual Basic 和 JScript.NET 数据是托管数据。不过,通过使用特殊的关键字,C# 数据可以被标记为非托管数据。Visual Studio.NET C++ 数据在默认情况下是非托管数据(即使在使用 /CLR 开关时),但是在使用 C++ 的托管扩展时,可以使用“__gc”关键字将类标记为托管类。就象该名称所显示的那样,它表示类实例的内存由垃圾回收器管理。另外,该类也完全成为 .NET 框架的成员,同时具备它所带来的好处和限制。好处的一个例子是:它可以与其他语言编写的类正确地进行互操作(如托管的 C++ 类可以从 Visual Basic 类继承);限制的一个例子是:托管类只能从一个基类继承。

  • 相关阅读:
    [NOI2007]生成树计数
    [NOI2009]变换序列
    BZOJ3261 最大异或和
    [SHOI2011]双倍回文
    [TopCoder14647]HiddenRabbits
    [HDU5709]Claris Loves Painting
    [BZOJ4559][JLOI2016]成绩比较
    [CF995F]Cowmpany Cowmpensation
    [TopCoder11557]MatrixPower
    [UOJ198][CTSC2016]时空旅行
  • 原文地址:https://www.cnblogs.com/finema/p/453099.html
Copyright © 2011-2022 走看看