gpt4 book ai didi

c++ - 如果程序从 linux 中的两个终端运行,fork 的共享内存是否共享

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:51:47 27 4
gpt4 key购买 nike

如果在我的 C++ 代码中,我使用 mmap() 来共享一个全局变量,并且我从 linux 终端运行一个版本的程序,在同一台机器上,我打开另一个终端,并运行相同的程序,这两个程序会访问共享的同一内存吗?

最佳答案

这取决于您如何使用mmap。如果两个程序都创建了同一文件(或共享内存节点或其他)的共享映射,则可以。如果他们映射不同的文件,或者创建私有(private)或匿名映射,则不会(尽管私有(private)映射将使用写时复制,因此内存是共享的,直到任一进程写入它)。

关于c++ - 如果程序从 linux 中的两个终端运行,fork 的共享内存是否共享,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29717706/

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