boost binary_oarchive 对于不同的编译器的工作方式不同

2023-11-29

我需要在客户端和服务器之间传输数据。当我将服务器从 Windows (msvc140) 移动到 Debian (gcc 64 位) 时,我的字节流类出现了问题boost。他们的档案是不同的。

#include <string>    
#include <boost/archive/binary_oarchive.hpp>
#include <boost/iostreams/device/back_inserter.hpp>
#include <boost/iostreams/stream.hpp>

int main()
{
    std::string s;
    typedef boost::iostreams::back_insert_device<std::string> BackInsertDevice;
    typedef boost::iostreams::stream<BackInsertDevice> Stream;
    typedef boost::archive::binary_oarchive BinaryOArchive;

    Stream stream(s);
    BinaryOArchive ar(stream);

    ar << "qwer" << 10;
    stream.flush();

    int sz = s.size();
    // Windows (msvc140):    49
    // Debian  (gcc 64-bit): 57 
}

两个版本boost是 1.61.0


这是有记录的。http://www.boost.org/doc/libs/1_49_0/libs/serialization/doc/todo.html#portablebinaryarchives

Boost 本身没有可移植的存档。

您想查看 EOS 便携式档案:https://epa.codeplex.com/

它们很容易放入您的代码库中并使用,而不是boost::archive::binary_[io]archive

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

boost binary_oarchive 对于不同的编译器的工作方式不同 的相关文章

  • json.net自定义jobject反序列化

    我正在尝试使用 JsonConvert DeserializeObject string 将字符串反序列化为可与动态一起使用的 jobject 来动态访问 json 文档 但是我想避免知道文档的大小写 以便我可以输入 dynamic doc
  • 在路由mvc 4中添加公司名称

    我一直在尝试为 Facebook 等用户提供在 URL 中添加公司名称的选项 http localhost 50753 MyCompany Login 我尝试过不同的网址 但没有成功 routes MapRoute name Default
  • 删除是如何工作的? [复制]

    这个问题在这里已经有答案了 可能的重复 C 编程 free 如何知道要释放多少 https stackoverflow com questions 1518711 c programming how does free know how m
  • 有没有办法在 xcode 上使用 c++0x ?我想使用 gcc 4.4 或更高版本

    我想使用 gcc 4 4 或更高版本进行 iphone 开发 有人知道怎么做吗 不 你不知道 相信我 你不会 Apple 仍保留 gcc 4 2 1 因为 4 2 2 及更高版本使用 GPLv3 这意味着他们必须放弃对其平台的控制 对于 i
  • 解析 JWT 令牌以仅获取有效负载内容,无需 C# 或 Blazor 中的外部库

    我正在使用 Blazor 编写可以访问 JWT 的客户端应用程序 我想知道一种简单的方法来读取令牌有效负载内容而不添加额外的依赖项 因为我不需要其他信息 也不需要验证令牌 我认为解析有效负载内容应该足够简单 只需将其写入方法即可 JwtTo
  • 如何使用 SOAP 且不使用 WSE 在 .NET 中签署 Amazon Web 服务请求

    亚马逊产品广告 API 以前称为 Amazon Associates Web Service 或 Amazon AWS 实施了一项新规则 即自 2009 年 8 月 15 日起 向其发送的所有 Web 服务请求都必须经过签名 他们在其网站上
  • 检测到堆栈崩溃

    我正在执行我的 a out 文件 执行后 程序运行一段时间 然后退出并显示消息 stack smashing detected a out terminated Backtrace lib tls i686 cmov libc so 6 f
  • 为什么'enable_if'不能用于禁用这里声明

    include
  • 将表(行)与 OpenXML SDK 2.5 保持在一起

    我想在 Word 文档中生成多个表 每行 2 行 但我想将这两行保留在一起 如果可能的话 new KeepNext 第一行不起作用 new KeepNext 第一行的最后一段不起作用 new CantSplit 放在桌子上不起作用 在所有情
  • C# 编译器不会优化不必要的强制转换

    前几天 在写答案的时候这个问题 https stackoverflow com questions 2208315 why is any slower than contains在这里 关于溢出 我对 C 编译器感到有点惊讶 它没有按照我的
  • 根据对象变量搜索对象列表

    我有一个对象列表 这些对象具有三个变量 ID 名称和值 这个列表中可能有很多对象 我需要根据ID或Name找到一个对象 并更改值 例子 class objec public string Name public int UID public
  • 使用 C# 和 wpf 创建类似 Dock 的应用程序

    我需要创建一个与我们购买笔记本电脑时获得的应用程序类似的应用程序 仅当鼠标指针到达窗口顶部时它才可见 那么我怎样才能使用 C 4 0 来做到这一点呢 http www notebookcheck net uploads pics win2
  • C#6 中的长字符串插值行

    我发现 虽然字符串插值在应用于现有代码库的字符串 Format 调用时非常好 但考虑到通常首选的列限制 字符串对于单行来说很快就会变得太长 特别是当被插值的表达式很复杂时 使用格式字符串 您将获得一个可以拆分为多行的变量列表 var str
  • 使用具有抗锯齿功能的 C# 更改抗锯齿图像的背景颜色

    我有一个图像需要更改背景颜色 例如 将下面示例图像的背景更改为蓝色 然而 图像是抗锯齿的 所以我不能简单地用不同的颜色替换背景颜色 我尝试过的一种方法是创建第二个图像 仅作为背景 并更改其颜色并将两个图像合并为一个图像 但是这不起作用 因为
  • 引用/指针失效到底是什么?

    我找不到任何定义指针 引用无效在标准中 我问这个问题是因为我刚刚发现 C 11 禁止字符串的写时复制 COW 据我了解 如果应用了 COW 那么p仍然是一个有效的指针并且r以下命令后的有效参考 std string s abc std st
  • Project Euler #8,我不明白我哪里出了问题[关闭]

    Closed 这个问题是无法重现或由拼写错误引起 help closed questions 目前不接受答案 我正在做项目欧拉第八题 https projecteuler net problem 8 其中我得到了这个大得离谱的数字 7316
  • 选择查询不适用于使用Parameters.AddWithValue 的参数

    C 中的以下查询不起作用 但我看不出问题所在 string Getquery select from user tbl where emp id emp id and birthdate birthdate cmdR Parameters
  • 在 C#.NET 中安全删除文件

    在我正在做的一个项目中 我想为用户提供 安全 删除文件的选项 例如 用随机位或 0 覆盖它 在 C NET 中是否有一种简单的方法可以做到这一点 效果如何 你可以调用系统内部删除 http technet microsoft com en
  • 为什么以下 C 程序会出现总线错误?

    我认为这是第一个失败的 strtok 调用 好久没写C了 有点不知所措 非常感谢 include
  • 如何使用placement new重新初始化该字段?

    我的课程包含字段 private OrderUpdate curOrderUpdate 我一遍又一遍地使用它 经常需要重新初始化 for int i 0 i lt entries size i auto entry entries i ne

随机推荐

  • 无法删除(绑定的)事件侦听器

    我是 javascript 的新手 我遇到了以下问题 在多次搜索后我无法在以前的答案中找到该问题 希望这不是重复的 我有以下模块 类 假设我正在尝试实现一个可以在屏幕上拖动的组件 当 的时候用户第一次点击它 我们开始听mousemove的事
  • Facebook API 和 Spring Social -- 如何发布朋友墙

    我有一个 Facebook 应用程序设置为需要扩展权限 publish stream 设置 gt gt 权限 gt gt 扩展权限 publish stream 我还有一个名为 scope 的隐藏输入字段 其值包括 publish stre
  • 更好地理解 Javascript OOP 架构 [重复]

    这个问题在这里已经有答案了 当我阅读 Angularjs 的 UI 插件的一些示例时 我偶然发现了一些代码 这些代码表明我对 Javascript 的了解还有待提高 以下是 Angular 提供程序内部的一个类 function Dialo
  • nvarchar(MAX) 最多可容纳多少个字符?

    我对这个概念很陌生nvarchar MAX 它可以容纳多少个字符 最大限度 容量为 2 GB 空间 因此您看到的 2 字节字符刚好可以容纳在一个NVARCHAR MAX field 使用其他答案的更详细的数字 您应该能够存储 2 31 1
  • 为什么 1>>32 == 1?

    我想知道这是否是一个 JVM 错误 java版本 1 6 0 0 OpenJDK 运行时环境 IcedTea6 1 4 1 6b14 1 4 1 0ubuntu13 OpenJDK 64 位服务器 VM 内部版本 14 0 b08 混合模式
  • 解码 Azure 移动服务 JWT 令牌时出现 JwtSecurityToken 异常

    以下代码 using System IdentityModel Tokens JwtSecurityToken jwtSecurityToken new JwtSecurityToken rawToken 生成以下异常 Jwt10113 U
  • 如何按升序对包含星期几名称的字符串进行排序

    我有一个包含星期几名称 开始时间和结束时间的字符串列表 List
  • 为什么 Ping 超时无法正常工作?

    我有 5 台电脑 我想 ping 这台电脑是否可用 所以我使用 C Ping 类 两台电脑可用 但当我对它们执行 ping 操作时 另外 3 台电脑已关闭 我的程序等待至少 7 秒才能响应 我只想检查 1000 毫秒并返回 OK 或 ERR
  • 如何从 Kotlin 资源中读取文本文件?

    我想用 Kotlin 编写 Spek 测试 如何从 HTML 文件中读取src test resources folder class MySpec Spek describe blah blah given blah blah var f
  • 如何确定 swf 是独立播放还是在其他 swf 中加载?

    我有两个 swf 一种某种 节目 以及一个充当 节目 加载程序的 菜单 show swf 可以以其自身的方式运行 或者通过 菜单 加载 有没有办法确定 显示 是独立运行还是加载到 菜单 中 一种解决方案是提供 菜单 Loader对象在加载的
  • 在 Dart 中将子类分配给工厂构造函数

    The KeyFlutter 中的类有一个factory构造函数更像是一个变量 abstract class Key const factory Key String value ValueKey
  • 有没有办法在 SQL Server 中获取自定义格式的日期?

    在 Oracle 中 您可以使用 SELECT to char sysdate yyyy mm FROM dual 仅显示日期的年份和月份部分 此外 您还可以设置NLS DATE FORMAT更改默认返回日期的方式 我知道在 SQL Ser
  • 打开图元标签

    我使用 Facebook 应用程序 shortstack 来制作我的页面 当我使用短 URL 共享出版物时 我想对其进行个性化 我已经测试创建开放图元标记 但它不起作用 您需要在页面中添加 opengraph 元标记 例如
  • android 支持 v14 PreferenceFragment 崩溃

    我正在尝试使用 PreferenceFragment 在 Android 应用程序中显示设置android support v14 preference图书馆 但是 当我尝试打开首选项时 应用程序崩溃并出现奇怪的 NullPointerEx
  • 扩展 UserCreationForm 以包含电子邮件、名字和姓氏

    我已经被困在这个问题上有一段时间了 似乎无法弄清楚发生了什么 我刚刚开始学习 Django 我设置了登录 现在想要实现一个注册页面 我首先使用 UserCreationForm 表单 效果很好 但我想添加电子邮件 名字和姓氏字段 我想我可以
  • 为什么在 C++/Java 和类似语言中以美元符号开头的变量名不好?

    为什么在 C Java 和 PHP 中的类似变量名中以美元符号开头是不好的 编辑 有什么风险吗 在Java中 使用 in 变量是合法的 但绝对是一个坏主意 如果这样做 则存在意外使用与编译器本身或某些代码生成器使用的名称冲突的名称的风险 结
  • Firebase 在大数据集上的性能

    我正在为一个项目测试 firebase 该项目可能有相当多的密钥 可能有数百万个 我已经测试过使用节点加载几万条记录 加载性能看起来不错 然而 如果我展开根节点 FORGE Web UI 会变得极其缓慢 并且会渲染每条记录 Firebase
  • 将属性注册为 DependencyProperty

    我有一个名为 ChartView 的用户控件 我有一个 ObservableCollection 类型的属性 我已经在 ChartView 中实现了 INotifyPropertyChanged ChartEntry 的代码是 public
  • 获取 popover 的 data-content 内 HTML 标签的元素

    我正在 Bootstrap3 的 popover 中工作 我在这里放置了如下 HTML 内容 a href class btn title Test Click Here a 我无法引用 data content 属性中存在的 html 元
  • boost binary_oarchive 对于不同的编译器的工作方式不同

    我需要在客户端和服务器之间传输数据 当我将服务器从 Windows msvc140 移动到 Debian gcc 64 位 时 我的字节流类出现了问题boost 他们的档案是不同的 include