什么是Dyon的记忆模型?

问题描述 投票:0回答:1

Dyon Tutorial说它使用“生存期”,而不是垃圾回收或手动内存管理。但是,该生命周期模型与Rust中的所有权有何不同?

Dyon由于缺少垃圾收集器而具有有限的内存模型。该语言旨在解决此限制。 -Dyon编程语言教程

此模型有多严格的限制?由于此限制,Dyon无法运行内存管理代码的示例吗?

memory-management rust dyon
1个回答
0
投票

链接的Dyon book仅包含对此的解释:

寿命是关于参考的

生存期与存储在变量内的引用有关。所有引用都超出了它们存储在其中的变量。变量无法存储对其自身的引用,因为它自身无法生存。

为了将引用放入变量中,生存期检查器必须知道引用的寿命超过了变量。

由于寿命检查程序,Dyon中的所有内存都是非循环图。

因此,主要限制是引用不能进行任何循环。也就是说,不可能表示圆形节点列表,也不能让子对象保留对其父对象的引用。

这些限制也适用于Rust,但Rust还提供了解决方法。引用计数类型(RcArc)与弱引用(请参见std::rc::Weak)结合使用,可以创建循环引用。也可以在std::rc::Weak构造(即原始指针)之后进行循环。

另请参见(特定于铁锈,但适用大多数原则):

  • unsafe
© www.soinside.com 2019 - 2024. All rights reserved.