tplC 序列化或反序列化库

联合创作 · 2023-09-28 17:57

tpl 是一个开源的小项目,其主要是提供一个可以序列化或反序列化 C 语言数据的一个 API 函数库,数据以自然的二进制形式存储。

tpl 号称是最有效率的也是最快的,它可以把你内存中的数据存放到文件中,并可以在你需要的时候用文件中反序例化到内存变量中。而且这个函数库没有依赖于别的函数库。tpl 可以序列化许多 C 数据类型,包括结构体。

tpl 做了一个方便的文件格式。例如,假设一个程序需要存储一个用户名和id的列表。可以使用格式字符串A(si)来表示。如果程序需要两个这样的列表(比如,一个是普通用户,一个是管理员),可以用A(si)A(si)表示。使用tpl可以很方便地读写这种结构化数据。

tpl 也可以作为一种IPC消息格式。它可以自动处理字节顺序问题和从流中重构单个消息。

示例代码:

#include "tpl.h"

int main(int argc, char *argv[]) {
    tpl_node *tn;
    int id=0;
    char *name, *names[] = { "joe", "bob", "cary" };

    tn = tpl_map("A(is)", &id, &name);

    for(name=names[0]; id < 3; name=names[++id]) {
        tpl_pack(tn,1);
    }

    tpl_dump(tn, TPL_FILE, "users.tpl");
    tpl_free(tn);
}
浏览 10
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报