gpt4 book ai didi

c - 消耗指针是什么意思?

转载 作者:太空宇宙 更新时间:2023-11-04 01:10:29 25 4
gpt4 key购买 nike

我是 C 语言和 Cyclone 的新手。我正在研究 Michael Hicks 的论文 Experience With Safe Manual Memory-Management in Cyclone .

他们说:“我们使用过程内的、流敏感的、路径不敏感的分析来跟踪一个独特的指针何时被消耗,在这种情况下,分析会拒绝随后尝试使用该指针。我们选择过程内分析以确保模块化检查和路径不敏感分析以确保可扩展性。为了简化分析,复制一份唯一指针(例如,在赋值或函数中call) 被视为消耗指针。”

“消耗”指针是什么意思?这是标准术语吗?

最佳答案

他们正在实现 C 的变体,其中某些指针是唯一的;也就是说,您不能同时拥有同一个指针的两个副本。因此,无论何时复制指针(将其分配给另一个变量,将其传递给函数),新副本都被认为是有效的,而旧副本被认为是无效的。他们称此为“消耗”指针。

在您引用的部分中,在原始论文中,希克斯将“消费”一词用斜体表示,表明该用法是他定义含义的用法。 “消耗”指针的定义是跟踪指针何时被复制,并拒绝进一步使用它。

这个用法是基于以前的用法;例如,如果您查看列出的对线性类型、别名类型和功能类型的先前工作的引用文献,您会发现它们在类似意义上使用“消费”一词。来自 Typed Memory Management in a Calculus of Capabilities :“在线性类型系统中,别名将受到微不足道的控制;对区域名称的任何使用都会消耗该名称,确保它不能在其他地方使用。”因此,该术语基于现有用法,但仍需要在本文中阐明确切的定义,因为 Hicks 将其应用于 C 变体中的指针,而不是类型化 lambda 演算中的名称。

关于c - 消耗指针是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13368392/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com