我需要将相当复杂的数据结构从C#传递到本机C++函数。这是一种结构,除了简单的数据类型,如int
s和string
s,还包含其他结构的数组,其中包含其他结构的数组...等等,深达3或4级。我最初的想法是使用固定指针,但现在我开始怀疑这是一个好主意。代码很杂乱,我保留了很长时间的大量对象。我不得不说,C++代码可能需要几个小时才能完成。将复杂的对象从C#传递到C++
现在我的问题。使用谷歌的protocol buffers来序列化C#中的数据结构,把它放入一个连续的内存缓冲区,然后用C++反序列化它会是一个好主意吗?
其他建议?
我不能使用COM和托管C++,因为代码也应该在Linux上运行。 – Max
然后二进制序列化是唯一明智的选择。去协议缓冲区,队友。 – JonPall