r :-6ren">
gpt4 book ai didi

forth - 返回堆栈操作在 Gforth 0.7 中生成 "invalid memory address"

转载 作者:行者123 更新时间:2023-12-01 12:59:00 25 4
gpt4 key购买 nike

我在这里学习 Forth,我已经开始学习返回堆栈操作。

所以在 Ubuntu 11.04 x64 上使用控制台,我试图将 TOS 放到返回堆栈上,但发生了这种情况:

1 2 3 4 5 ok
>r
:36: Invalid memory address
>R>>><<<
Backtrace:

我在这里做错了什么?

最佳答案

>r 本身就是一个词,需要返回给解释器。当 >r 像问题一样执行时,它会添加一个新的返回地址,一个无效的地址。

而是在(新)词中使用 >r。请注意,添加到返回堆栈的项目必须在该单词结束之前被删除 - 返回堆栈必须处于与单词开始执行时相同的状态。

循环实际上是返回堆栈在单词中的应用示例(因此您自己对返回堆栈的使用也必须在循环内平衡,就像它必须在单词中平衡一样)。

关于forth - 返回堆栈操作在 Gforth 0.7 中生成 "invalid memory address",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7940501/

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