gpt4 book ai didi

c++ - 在 C++ 中跨进程边界发送对象的深层拷贝

转载 作者:IT王子 更新时间:2023-10-29 01:23:56 25 4
gpt4 key购买 nike

我有一个情况,我有一个 C++ 类的对象,需要使用 Linux 管道跨进程边界(进程 1 到进程 2)发送。我在网上搜索了如何在 C++ 中进行序列化。我找到了 boost ,但它需要对类进行一些更改。在我的情况下,我无法改变类(class)。

这个类有很多指针,嵌套继续到3层(Class 1有Class 2类型的指针1-> Class 2有Class 3类型的指针2 -> Class 3有Class 4类型的指针3 -> 第 4 类)。有什么方法可以使用管道发送此对象,以便可以在第二个进程中重新创建它?

谢谢。

最佳答案

您需要以某种方式序列化该类。您的选择究竟如何,但您可以采用 JSON 之类的格式进行选择,或 XML,或您决定的某种二进制格式。没有看到关于您的类(class)的更多详细信息,没有太多要添加的内容。

另一种选择可能是使用 Shared memory段来存储类,但这会带来指针数学、并发性和其他复杂性的问题。

关于c++ - 在 C++ 中跨进程边界发送对象的深层拷贝,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13041987/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com