在学习Windows 8开发时,我发现它的API可以分为: 1.托管(.NET API) 2.托管和本地(Windows API) 3.本机(Win32 & COM)
我的问题是为什么.NET API被称为“托管”。这个词是什么意思?谢谢。
发布于 2014-06-16 08:01:40
.NET被称为托管,因为对象生命周期由运行时环境(CLR,公共语言运行时)自动管理。
相反,本机(和COM)代码要求对象生存期由开发人员管理,方法是显式调用相应的清理调用(例如delete
、Release()
),或者使用资源管理类(例如std::unique_ptr
、_com_ptr_t
)。
托管一词还指CLR在代码继续运行时提供的其他服务,如内存管理(例如提供压缩堆)、安全性(例如验证程序集的代码是否安全/有效)、线程处理等。
发布于 2014-06-16 05:56:47
.NET基于类似于的某种字节码。这允许在转换对象类型时进行垃圾收集和检查。
据我所知,“托管”一词指的是.NET提供了一个数据管理,它同时处理垃圾收集和对象转换检查(以及更多的内容)。
“托管代码”是.NET代码的同义词(只要它不与非.NET对象混合)。
https://stackoverflow.com/questions/24236549
复制相似问题