可能重复:
C++ 和 C# 中的二进制序列化/反序列化
我正在开发一个项目,其中服务器是用 C++ 编写的(boost 被广泛使用),客户端应用程序是用 C# 编写的。我在客户端/服务器之间序列化/反序列化消息时遇到了这个问题。
我研究了实现这种跨平台序列化的各种替代库,Protocol Buffers 似乎是最好的……但它不支持标准库的map
容器和boost::shared_ptr
.
那么我的问题是:
- 有人可以解释如何
map
以及boost::shared_ptr
可以使用协议缓冲区进行序列化吗?或者失败了, - Apache 的 Thrift 会为此工作吗?
- ...或者我是否在(C#)客户端使用互操作 DLL?