【发布时间】:2023-04-05 09:05:01
【问题描述】:
我正在为一个特定的包编写插件的项目中工作。
这个包在它的一个头文件中实现了一个“new”方法,因此,我无法包含<strstream>,因为它也实现了“new”。
软件包 sdk 还包含一个精简的非常旧的 boost 版本,这意味着我不能使用 boost 序列化类。它是基于 VS2008 的 Qt 构建的,我们(这个项目需要)在 VS2005 中,所以我也不能包含 Qt。
我需要能够从外部运行的应用程序获取数据,通过 TCPIP 发送数据。对我来说,从源中序列化数据并在这些限制下读回数据的最佳方式是什么?
我目前很想创建一个结构,它可以包含所有可能发送的数据,然后将该结构的内存复制到一个字节块中,然后发送过来,但这听起来是个坏方法对我来说。
谢谢, 利隆
【问题讨论】:
-
尝试包含
。 strstream 可能会被您的编译器弃用 -
当你说
'implements new' 时,你到底是什么意思?如果需要,您不能将 的使用放在单独的编译单元中吗? -
social.msdn.microsoft.com/forums/en-US/vclanguage/thread/… 我遇到了这个问题,但是“新”实现在我们试图为其创建插件的应用程序的 sdk 中,所以我无法删除它。
标签: c++ qt serialization boost