gpt4 book ai didi

process - 如何保存程序的进度,并在以后恢复?

转载 作者:行者123 更新时间:2023-12-04 19:23:29 24 4
gpt4 key购买 nike

您可能知道很多程序,例如一些密码破解程序,我们可以在它们运行时停止它们,当我们再次运行该程序时(输入或不输入相同的输入),它们将能够从它们的位置继续已经离开了。我想知道什么样的技术那些程序正在使用?

[编辑] 我正在编写一个主要基于递归函数的程序。据我所知,我认为在我的程序中保存这样的状态非常困难。有没有什么技巧,以某种方式保存我的程序中涉及的堆栈内容、函数调用和数据,然后当它重新启动时,它可以像没有停止一样运行?这只是我脑海中的一些概念,所以如果没有意义,请原谅我......

最佳答案

每个程序都会有所不同。对于像蛮力密码破解程序这样简单的事情,真正需要保存的只是最后一次尝试的密码。对于其他应用程序,您可能需要存储多个数据点,但实际上也仅此而已:保存和加载重建您所在位置所需的最少信息量。

另一种常用技术是保存整个程序状态的图像。如果您曾经玩过能够保存状态的游戏机模拟器,那么他们就是这样做的。 Python 中存在一种类似的技术,带有酸洗。如果环境足够稳定(即:没有变化的指针),您只需将整个应用程序内存状态复制到一个二进制文件中。当您想恢复时,将其复制回内存并再次开始运行。这为您提供了近乎完美的状态恢复,但它是否可能完全取决于环境/语言。 (例如:如果没有操作系统的帮助,或者如果它们是在考虑到这一点的情况下非常小心地构建,大多数 C++ 应用程序都无法做到这一点。)

关于process - 如何保存程序的进度,并在以后恢复?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1855876/

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