【发布时间】:2011-11-11 22:01:12
【问题描述】:
目前我面临一个问题,即我将缓冲区对象通过管道从 x64 拱门传递到 x86 拱门。该对象还包含一些指针值,在 x64 中为 8 个字节,在 x86 上相同的指针大小为 4 个字节。现在,当我通过管道传输对象时,它的大小比 x86 平台对同一对象的期望要大一些(因为这里的指针大小更小)。我可以从这个论坛的类似帖子中了解到我可能需要使用序列化,但我不知道如何使用序列化,因为我以前从未使用过序列化。序列化会解决这个问题吗?我正在使用带有 GCC 编译器的 C++。我希望该产品适用于所有架构(ia64、x64 或 x86)。
【问题讨论】:
-
我不认为您可以使用 memcpy(&obj, sizeof(obj), data, sizeof(obj)) 之类的东西,然后将数据传输到您执行 memcpy(data, sizeof( obj), &obj, sizeof(obj)),就是错了/
标签: c++ c networking pipe named-pipes