在 C 程序关闭和重新启动之间保存和检索简单数据的常用方法是什么?
What is a common way of saving and retrieving simple data between a C program closing and restarting?
有一个使用 GTK+2 制作的简单 C 应用程序。
界面上也有简单的数据,应用程序关闭前需要保存最后一次使用的值,以便应用程序再次启动时加载。
我找到了一些保存加载数据的方法。
- 正在保存并加载文本文件。
- 使用数据库。
由于我是 C 的初学者,无论哪种方式我都需要进行 RnD 并开始实施。
我需要知道 C 编程专业人员在这种情况下使用的 best/standard/effective 方法。
编辑:数据的性质
需要保存和检索的数据如下。
- 几个双精度值
- 几个字符值或字符串
- 几个布尔值
应用程序使用以上数据在界面上绘制图表。当应用程序启动时,它应该使用旧值绘制图表。
直接的方法
最简单的方法是将要存储的变量放在 struct
中。然后你可以 output/load 结构的内容 in/from 一个文件(以二进制模式)。这种技术的优点是您不必遍历所有变量。如果您可以正确关闭程序,我肯定会选择此解决方案。
Checkpoint/Restart 图书馆
在高性能计算中,当启动需要很长时间执行的模拟代码时(or/and 使用大量计算节点),使用 checkpoint/restart 库是很常见的。
如果出现故障,程序可能会从先前的有效检查点重新启动。当执行过程中可能出现问题时,它会更频繁地使用。
有一个使用 GTK+2 制作的简单 C 应用程序。 界面上也有简单的数据,应用程序关闭前需要保存最后一次使用的值,以便应用程序再次启动时加载。
我找到了一些保存加载数据的方法。
- 正在保存并加载文本文件。
- 使用数据库。
由于我是 C 的初学者,无论哪种方式我都需要进行 RnD 并开始实施。 我需要知道 C 编程专业人员在这种情况下使用的 best/standard/effective 方法。
编辑:数据的性质
需要保存和检索的数据如下。
- 几个双精度值
- 几个字符值或字符串
- 几个布尔值
应用程序使用以上数据在界面上绘制图表。当应用程序启动时,它应该使用旧值绘制图表。
直接的方法
最简单的方法是将要存储的变量放在 struct
中。然后你可以 output/load 结构的内容 in/from 一个文件(以二进制模式)。这种技术的优点是您不必遍历所有变量。如果您可以正确关闭程序,我肯定会选择此解决方案。
Checkpoint/Restart 图书馆
在高性能计算中,当启动需要很长时间执行的模拟代码时(or/and 使用大量计算节点),使用 checkpoint/restart 库是很常见的。 如果出现故障,程序可能会从先前的有效检查点重新启动。当执行过程中可能出现问题时,它会更频繁地使用。