tplC 序列化或反序列化庫
tpl 是一個開源的小項目,其主要是提供一個可以序列化或反序列化 C 語言數(shù)據(jù)的一個 API 函數(shù)庫,數(shù)據(jù)以自然的二進制形式存儲。
tpl 號稱是最有效率的也是最快的,它可以把你內(nèi)存中的數(shù)據(jù)存放到文件中,并可以在你需要的時候用文件中反序例化到內(nèi)存變量中。而且這個函數(shù)庫沒有依賴于別的函數(shù)庫。tpl 可以序列化許多 C 數(shù)據(jù)類型,包括結(jié)構(gòu)體。
tpl 做了一個方便的文件格式。例如,假設一個程序需要存儲一個用戶名和id的列表??梢允褂酶袷阶址瓵(si)來表示。如果程序需要兩個這樣的列表(比如,一個是普通用戶,一個是管理員),可以用A(si)A(si)表示。使用tpl可以很方便地讀寫這種結(jié)構(gòu)化數(shù)據(jù)。
tpl 也可以作為一種IPC消息格式。它可以自動處理字節(jié)順序問題和從流中重構(gòu)單個消息。
示例代碼:
#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);
}評論
圖片
表情
