有一个叫做PcCurgToover的库,我帮助它维护它可能有用:它允许你在C++中形成数据结构,然后你就可以泡菜……它是C++,不是C,但这不应该是一个问题,这些天(假设你使用的GCC / G+套件)。
库是一个普通的C++库(在C++中有一些C++和python的例子,展示了如何在Socket和Cy++和Python文件上使用库),但是一般来说,对文件的酸洗的基础是可用的。
基本思想是,Cpk灵器库提供了来自C++的“Python”数据结构,这样您就可以序列化和反序列化到/来自Python /C++。全部(?)支持基本类型:int、long int、string、None、complex、dictionarys、list、ordered dictionaries和tuple。很少有钩子可以做定制类,但这一部分还不成熟:库的其余部分相当稳定,已经激活了8(?)年。
简单示例:#include "chooseser.h"
int main()
{
Val a_dict = Tab("{ 'a':1, 'b':[1,2.2,'three'], 'c':None }");
cout << a_dict["b"][0]; // value of 1
// Dump to a file
DumpValToFile(a_dict, "example.p0", SERIALIZE_P0);
// .. from Python, can load the dictionary with pickle.load(file('example.p0'))
// Get the result back
Val result;
LoadValFromFile(result, "example.p0", SERIALIZE_P0);
cout << result << endl;
}
网站上还有其他文档(常见问题解答和用户指南)。
希望这有用:
再见
里奇