1

我在微控制器中处理一个项目,我需要保留一些设置。假装这是一个 iPod。我需要保存各种设置,如CurrentSongPlayingCurrentVolume等,以便再次打开时可以恢复这些设置。我遇到的麻烦是将我所有的非易失性设置存储在一个结构中是有意义的,我可以从内存中序列化/反序列化,但是如果没有类执行,我无法找到一种方法来实现这一点来自非易失性存储器的序列化/反序列化,包括每个包含需要保存以获取大小/类型信息的设置的类。是否有某种设计模式可以让我将所有这些设置保存到内存中,而不必知道我正在保存什么?

4

2 回答 2

1

看起来你只需要一个关联数组。关联数组(或映射)是一个容器,允许您将不同的值映射到唯一键。根据实现,它可以具有固定或动态大小。再加上适当的序列化机制,它可以让你保存和恢复它的状态,而不必提前知道它的内容。

但是,C 并没有提供这种开箱即用的数据结构。看看这个问题的几个实现。最常见的实现是哈希表,也称为哈希图。

于 2012-08-03T19:43:56.083 回答
0

OOP 和类在 C 中不容易实现。

如果必须使用 C,我会将结构写入文件。

然后我会在重启时读取它们并在初始化期间解析它们。

您可以将其视为自己序列化您的结构。

于 2012-08-02T22:11:21.720 回答