我正在尝试在 Go 程序中实现无限范围的延续(对于那些好奇的人,我正在编写一个方案解释器)。一种方法是将调用堆栈复制到堆中,以便以后可以恢复。Go 的垃圾收集器仍然需要知道堆栈副本中的所有指针。有没有办法在 Go 程序中做到这一点?请注意,如果需要,我愿意用 C 或汇编编写代码,与 Go 工具链兼容。
我正在尝试在 Go 程序中实现无限范围的延续(对于那些好奇的人,我正在编写一个方案解释器)。一种方法是将调用堆栈复制到堆中,以便以后可以恢复。Go 的垃圾收集器仍然需要知道堆栈副本中的所有指针。有没有办法在 Go 程序中做到这一点?请注意,如果需要,我愿意用 C 或汇编编写代码,与 Go 工具链兼容。