一个C的序列化库tpl
tpl(http://tpl.sourceforge.net/)是一个开源的小项目,其主要是提供一个可以序列化或反序列化C语言数据的一个API函数库。tpl号称是最有效率的也是最快的,它可以把你内存中的数据存放到文件中,并可以在你需要的时候用文件中反序例化到内存变量中。而且这个函数库没有依赖于别的函数库。
下面是一个简单的示例(来源于其主页)
把一个数组(“序号”和“人名”)序例化到文件中。
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);
}
把上面那个序列化到文件的“序号”和“人名”反序列化回来。
include "tpl.h"
int main(int argc, char *argv[]) {
tpl_node *tn;
int id;
char *name;
tn = tpl_map("A(is)", &id, &name);
tpl_load(tn, TPL_FILE, "users.tpl");
while ( tpl_unpack(tn,1) > 0 ) {
printf("id %d, user %s\n", id, name);
free(name);
}
tpl_free(tn);
}
更详细的使用说明请看其文档:
http://tpl.sourceforge.net/userguide.html
转载于酷壳CoolShell 无删改 仅以此纪念陈皓(左耳朵耗子)
Code Review应该是软件工程最最有价值的一个活动,之前,本站发表过《简单实用的Code Review工具》,那些工具主要是用来帮助更有效地进行这个活动,这里的这篇文章,…
21 年大模型爆发前夕转行做了开发,刚学会的技能还没捂热乎,就肉眼可见地迅速贬值。叠加上大环境恶化,择业/大学招生的滞后,不敢想未来有多惨。 乐观预期,大模型这波已经到头。大模…
————注:本文于2019年11月4日更新———— 关于无锁队列的实现,网上有很多文章,虽然本文可能和那些文章有所重复,但是我还是想以我自己的方式把这些文章中的重要的知识点串…