我正在编写一些代码来序列化一些数据通过networking发送。 目前,我使用这个原始程序: 创build一个void*缓冲区 对我想通过networking发送的数据应用任何字节sorting操作,如hton系列 使用memcpy将内存复制到缓冲区中 通过networking发送内存 问题在于,对于各种数据结构(通常包含void *数据,所以您不知道是否需要关心字节sorting),代码变得非常臃肿,序列化代码对于每个数据结构都是非常特定的,不能完全重用。 C的一些好的序列化技术是什么使这更容易/不那么难看? – 注:我绑定到一个特定的协议,所以我不能自由select如何序列化我的数据。
我想要一个C库,可以序列化我的数据结构到磁盘,然后再加载它们。 它应该接受任意嵌套的结构,可能带有循环引用。 我认为这个工具需要一个描述我的数据结构的configuration文件。 图书馆被允许使用代码生成,虽然我相当确定没有它可以做到这一点。 注意我对数据可移植性不感兴趣。 我想用它作为caching,所以我可以依靠不变的环境。 谢谢。 结果 有人build议Tpl这是一个很棒的库,但我相信它不会做任意的对象图,比如每个包含两个节点的节点树。 另一位候选人是Eet ,这是启蒙窗口pipe理器的一个项目。 看起来很有趣,但似乎又没有序列化嵌套结构的能力。