c++ - 程序的类似休眠状态的保存状态

标签 c++ memory

在 C++ 或 Java 或 Python 中有没有什么方法可以让我保存我的程序的状态,而不问任何问题?例如,我花了一个小时学习如何将树状结构保存到文件中。很有教育意义,但我觉得我可以做到:

saveState(file);

"file"将包含我的程序使用的全部内存。就像操作系统的“休眠”或“挂起到磁盘”功能一样。我知道 boost 序列化,这可能不是我要找的。

最佳答案

您最可能想要的是我们所说的 serialization或对象 marshalling .有一大堆关于数据/对象序列化的学术问题,您可以轻松地用谷歌搜索。

话虽这么说,只要有合适的库(可能是非常原生的),您就可以像“特定于操作系统的休眠”一样对正在运行的程序进行真实的快照。这是在 Linux 上执行此操作的 SO 答案:https://stackoverflow.com/a/12190830/318174

要执行上述快照操作,您很可能需要来自要保存的进程的外部进程。我强烈建议你不要那样做。而是用您选择的语言阅读/查找(顺便说一句,欢迎来到 SO,不要标记每一种语言......这会激怒人们)怎么做 serialization或对象 marshalling ...提示...现在大多数人都选择 JSON。

关于c++ - 程序的类似休眠状态的保存状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15125609/

相关文章:

c++ - Ustring 错误(打印期间)

c - 了解多线程共享资源 : shmid, shmat、shmdt

c++ - 我们有更多的静态变量内存空间吗?

c++ - 使用 shared_ptr 时如何检测循环

c++ - 如何让 g++ 列出所有 #included 文件的路径

c++ - sizeof 已经从 base 派生

c - 如何保护Linux中进程间共享的内存

iphone - 指定 iPhone 应用程序的最低内存要求

c++ - 如果其他程序在 64 位 Windows 中使用过多,32 位程序是否会内存不足?

c++ - 缩放 Qt3D 的相机