C# 和 C++ 之间的映射和共享指针序列化应用程序?

发布于 2024-10-14 10:10:22 字数 634 浏览 7 评论 0原文

可能的重复:
C++ 和 C# 中的二进制序列化/反序列化

我是正在开发一个项目,其中服务器是用 C++ 编写的(Boost 被广泛使用),客户端应用程序是用 C# 编写的。我在客户端/服务器之间序列化/反序列化消息时遇到问题。

我研究了各种替代库来实现这种跨平台序列化,Protocol Buffers 似乎是最好的......但它不支持标准库的 map 容器和 的序列化boost::shared_ptr

我的问题是:

  • 有人可以解释一下如何使用 Protocol Buffers 序列化 mapboost::shared_ptr 吗?或者如果失败了,
  • Apache 的 Thrift 可以解决这个问题吗?
  • ...或者我是否在 (C#) 客户端上使用互操作 DLL?

Possible Duplicate:
Binary serialization/de-serialization in C++ and C#

I am working on a project where server is written in C++ (boost is extensively used) and the client application is written in C#. I am facing the problem while serializing/deserializing messages between client/server.

I have studied various alternative libraries for achieving this sort of cross-platform serialization, and Protocol Buffers seems to be the best... but it does not support serialization of the standard library's map container and boost::shared_ptr.

My question then, is:

  • Can someone explain how map and boost::shared_ptr could be serialized using Protocol Buffers. Or failing that,
  • Would Apache's Thrift work for this?
  • ...Or am I stuck using interop DLLs on the (C#) client side?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

岁月静好 2024-10-21 10:10:22

如何使用 c++/cli 引用类包装 c++ 消息类,以便在客户端使用相同的 boost 序列化库。

What about wrapping the c++ message classes with c++/cli ref classes so that you use the same boost serialisation library on the client side.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文