gpt4 book ai didi

c++ - 在子进程之间共享指针

转载 作者:行者123 更新时间:2023-11-30 02:57:38 32 4
gpt4 key购买 nike

我有一个 64 位应用程序,它通过 popen2 实现创建 2 个子进程(32 位)。一切都是用 C++ 编写的。

我需要 2 个子进程访问内存中的同一个对象,但我不知道如何执行此操作。

如果我理解正确的话,每个子进程都有不同的内存映射,因此我不能只在两者之间传递内存地址。

附加信息:目标平台是 Mac 但我正在寻找一个尽可能独立于平台的答案 Mac 特定的答案很好,我可能不会在其他平台上使用这种方法.我对线程的使用了解不够;我走这条路是因为子进程必须是 32 位的。

最佳答案

您可以使用 shared memory概念。这意味着,您分配(使用操作系统服务)一个内存,这将被两个子进程可见。

根据 wiki 的建议,您可以使用 boost.interprocess在独立于平台的级别上使用共享内存。

关于c++ - 在子进程之间共享指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14414156/

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