首页 > TAG信息列表 > boost-serialization

c-Boost序列化段错误

我正在尝试序列化类成员.以下代码片段将显示相关的类定义以及我所包含的非侵入式序列化代码.我在saveHashTable()方法期间遇到段错误,该方法试图序列化类成员shash_table_.这是代码的完整修剪版本: #include <map> #include <string> #include <vector> #include <set> #include <f

c-向量的Boost序列化

序列化存储在向量中的二进制序列会花费很多吗?例如,如果我使用二进制存档. boost :: serialization库是否可以放置字符来区分vector的char元素并使输出更大?解决方法:衡量吧! 排序答案: >不,它不花很多钱.分析它(并查看它是否适合您的应用程序) >否,POD类型的向量将不会区分向量元素. (

c-反序列化构造函数层次结构

(此问题与this one非常相似,但是这次我在Child初始化列表中调用Parent反序列化构造函数). 如果子级没有添加任何要序列化的新数据,则父级没有默认的构造函数,我希望能够直接序列化父级对象以及子级,并且子级和父级都没有默认的构造函数,似乎我们应该使用以下模式,其中子反序列化构

c-Boost类序列化,成员类型更改

如何在保持与先前存档的兼容性的同时切换序列化成员的类型?例如.我想将float / int更改为double / size_t. 我知道我可以增加版本号,但这会使代码混乱.有其他处理方式吗?如果有所不同,成员将通过MAKE_NVP进行序列化.解决方法:您可以使用version参数进行版本控制.文档给出了以下示例:ht

c – 如何序列化犰狳的矢量

如何序列化arma :: Col?下面是MWE和错误输出. MWE: #include <boost/mpi/environment.hpp> #include <boost/mpi/communicator.hpp> #include <iostream> #include "armadillo" namespace mpi = boost::mpi; struct S { int i; arma::Col<dou

c – 指针矢量. BOOST序列化

我想使用BOOST序列化/反序列化以下向量中对象的值(而不是指针): std :: vector <A*> m_vector; 要序列化我使用以下代码: int nItems = m_vector.size(); ar & nItems; std::for_each(m_vector.begin(), m_vector.end(), [&ar](A* pItem) { ar & *pItem; }); 并反序列化: in

c – 在没有默认构造函数的情况下序列化指向类的指针时,无法覆盖save_construct_data

我试图遵循这个例子http://www.boost.org/doc/libs/1_42_0/libs/serialization/doc/serialization.html#constructors,但我一直在收到错误.在示例之后,我在尝试访问私有变量时遇到错误(足够公平): bs.cpp:10: error: ‘const int my_class::m_attribute’ is private 但是,如果我

c – boost :: serialization:具有私有默认构造函数的对象在向量中工作,但不在地图中工作

请考虑以下代码: #include <boost/serialization/nvp.hpp> #include <boost/archive/xml_iarchive.hpp> #include <boost/archive/xml_oarchive.hpp> class Foo{ friend class boost::serialization::access; template<class Archive> void se

c – 如何构建boost序列化库

我在某处读到了必须编译boost的序列化库(我忘了在哪里阅读它,否则我会发布一个链接). 所以我从source forge下载了最新版本并将其解压缩到我项目中的路径. 现在? 我调查了该文件夹,但找不到makefile. 那么我该怎么做才能编译boost:serialization lib? 编辑:然而我尝试使用它,而不编译它

是否有类似Python的StringIO / CStringIO for C?

我正在序列化大量数据,通过网络发送Boost的序列化库. Boost的序列化库需要一个中间文件来进行序列化和反序列化.传输的数据量使得完成所有这些工作变得尴尬.把事情留在记忆中会好得多. 在C中是否有类似于Python的cStringIO / StringIO的东西可以用来伪造Boost的序列化? 提前致谢.解

c – 使用boost :: serialization极大地增加了二进制大小

我在我的应用程序中使用相当复杂的数据结构(主要使用STL容器),并使用Boost(v1.34)对它们进行序列化. 每当我使用调试符号(gcc -g)进行编译时,生成的可执行文件都会变得很大 – 大约25 MB.剥离所有调试符号可将大小减小到约3 MB. 我试图确定大小增加的原因,似乎序列化方法是原因.特