0

我有一个 C 程序,它在启动时会读取大量配置文件、用户设置并将其全部存储在内存中。

问题是这个 c 工具运行了很多次,而这些读取配置、解析设置等的初始步骤需要很长时间。

我正在考虑一次运行所有这些步骤并将内存保存在某处,然后只在下次运行时读取该内存转储(有点像缓存)。

在C中可能吗?我在想类似于 PHP 中的序列化/反序列化来解析内存中的内容......

*更新:我无法将设置的内容保存在文件中,只能在启动时重新读取,因为内存内容有点复杂。为许多用户读取设置,并在内存中构建复杂的哈希/列表,具有多个子元素、正则表达式调用等。想法是将最终结构保存在某处并每次重用。

4

1 回答 1

0

您可以使用 sysv shm 之类的东西设置一个共享内存段,并让程序在第一次运行时填充数据。以下时间它可以只附加到相同的内存段(使用 shmat/shmget)。

于 2012-04-05T16:28:11.103 回答