综述
请查看以下知识渊博的评论。
=============================================== ===============
我在很多stackoverflow Delphi主题中看到了managed types
的术语。例如,在correctly initializing/finalizing
的主题中提到了它。但是,当我谷歌managed types
时,似乎大多数链接都与C ++或.NET有关。例如,请参阅MSDN page。有人可以帮助评论Delphi中定义的托管类型吗?鉴于Delphi for POSIX / MacOS正在诞生,是Windows特有的托管类型吗?感谢您提前付出的努力和时间!
PS:correctly initializing/finalizing
的主题:
Which variables are initialized when in Delphi?
Are delphi variables initialized with a value by default?
How should I free an array of objects in a Delphi 7 destructor?
In Delphi 2009 do I need to free variant arrays?
答案 0 :(得分:7)
在Delphi
的上下文中,托管类型是Delphi编译器自动生成生命周期管理代码的类型。这包括:
因为Delphi
上下文中的托管类型是根据Delphi编译器生成的内容定义的,所以它们是特定于delphi的。
在.NET世界中,开发人员不需要管理已分配内存的生命周期,因为.NET提供了一种自动执行此操作的机制:垃圾收集器。但是.NET包含了处理CLR之外的东西的能力(例如:使用不以CLR为目标的本机DLL)。该代码通常称为无管理且不安全。
在.NET环境中,托管与CLR自动管理的内容有关,因此这是.NET特定术语!
答案 1 :(得分:2)
请参阅Barry Kelly's answer相关帖子。 由于托管类型是语言功能,因此Mac OS等人不应该进行重大更改。