0

在学习Windows phone 8开发的时候发现它的API可以分为: 1. Managed (.NET API) 2. Managed & Native (Windows Phone Runtime API) 3. Native (Win32 & COM)

我的问题是为什么 .NET API 被称为“托管”。这个词是什么意思?谢谢。

4

2 回答 2

4

.NET 被称为managed,因为对象生命周期由运行时环境(CLR,公共语言运行时)自动管理。

相反,本机(和 COM)代码要求对象生命周期由开发人员管理,或者通过显式调用相应的清理调用(例如deleteRelease()),或者通过使用资源管理类(例如std::unique_ptr_com_ptr_t)。

托管一词还指 CLR 在代码继续运行时提供的附加服务,例如内存管理(例如提供压缩堆)、安全性(例如验证程序集的代码是否安全/有效)、线程等。

于 2014-06-16T08:01:40.570 回答
0

.NET 基于某种类似于 Java 虚拟机的字节码。这允许在转换对象类型时进行垃圾收集和检查。

据我所知,“托管”一词指的是 .NET 提供了一种数据管理,可以处理垃圾收集和对象转换检查(以及更多)。

“托管代码”是 .NET 代码的同义词(只要它不与非 .NET 对象混合)。

于 2014-06-16T05:56:47.953 回答