回到最后状态

Mik*_*one 1 lisp common-lisp

有没有办法回到运行时的最后状态?简而言之,保存运行时并重新加载它.但核心形象太大了(我正在做一个小游戏:-),所以我提出了一个想法,保存了一些重要的数据,并开始在某一行(也许还有堆栈信息)运行.

例如:

(defun save ()
  _do-some-magic-to-save-the-state-and-then-exit_)

(defvar data (list 'a 'b 'c)) ; important data
(format t "Hello ")
(save)
(format t "World!~%")
Run Code Online (Sandbox Code Playgroud)

下次,软件可以从停止的位置开始.

$ software
Hello $ software
Hello $ software --load saved_state
World!
Run Code Online (Sandbox Code Playgroud)

但我根本不知道如何在Common Lisp中做到这一点......有人可以给我一些想法吗?

Rai*_*wig 5

这是如何工作的取决于Common Lisp实现.查阅手册: