我有一个使用 Boost.Serialization 的 C++ 库。我正在使用 Boost.Python 为这个库创建 Python 绑定。很清楚如何为使用 Boost.Serialization 的 Boost.Python 制作一个 pickle 套件(使用 Boost.Serialization 保存到字符串,然后将该字符串返回给 Python)。
我想要的是相反的:给定 a boost::python::object,我想要一个serialize(...)函数来调用 Python 的pickle.dumps()函数并序列化生成的字符串。(想象一下std::vector<boost::python::object>。当我序列化这个向量时,Boost.Serialization 会调用辅助serialize()函数。)这可能吗?更好的是,是否可以使用cPickle和绕过将控制权交给 Python 解释器?