C#和C++应用程序之间的map和shared_ptr序列化?

use*_*469 5 c# c++ serialization thrift protocol-buffers

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

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

我已经研究了各种替代库来实现这种跨平台序列化,而协议缓冲区似乎是最好的......但是它不支持标准库map容器的序列化boost::shared_ptr.

我的问题是:

  • 有人能解释如何mapboost::shared_ptr可能使用Protocol Buffers序列化.或者失败了,
  • Apache的Thrift会为此工作吗?
  • ...或者我是否在(C#)客户端使用互操作DLL?

T33*_*33C 2

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