http://www.picklingtools.com/
ライブラリがありますが、私が有用であるかもしれない維持を助けるPicklingToolsと呼ばれる:それはC++ではなくC、である...あなたは、その後化したりunpickle化したり/ pickle化できることをあなたがC++でデータ構造を形成することができます最近は問題にならないはずです(gcc/g ++スイートを使用していると仮定して)。
ライブラリはプレーンなC++ライブラリです(C++とPythonの例では、C++とPythonの両方のソケットとファイルにライブラリを使用する方法を示しています)。しかし、一般的にファイルへのpicklingの基本は利用可能です。
基本的な考え方は、PicklingToolsライブラリがC++の "python-like"データ構造を提供し、Python/C++への直列化と逆シリアル化ができることです。 int、long int、string、None、complex、dictionarys、lists、ordered dictionary、tuplesのすべての(?)基本型がサポートされています。カスタムクラスを行うフックはほとんどありませんが、その部分は未熟です。ライブラリの残りの部分はかなり安定しており、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;
}
ウェブサイト上で詳細なドキュメント(FAQおよびユーザーズ・ガイド)があります。これは便利です
希望:
Gooday、
リッチー
http://www.picklingtools.com/
は、移植性は、アプリケーションにとって非常に重要なのですか? –
exaileは私が知る限りLinux上でしか動かないので、実際はありません。 –