c++ - fork 子进程和 C++ 对象

标签 c++ linux

我有几个问题。任何输入表示赞赏。谢谢。

  • C++ 类能否在 fork 后继续存在?
  • 如果是,它是如何实现的?
  • 指针会怎样?复制整个空闲存储/堆并保留所有虚拟地址?
  • 文件流会怎样?

最佳答案

这是我的理解:

  • C++ 类能否在 fork 后继续存在?

是的。

  • 如果是,它是如何实现的?

所有的内存都被复制了,所以你在那里没有问题。

  • 指针会怎样?复制整个空闲存储/堆并保留所有虚拟地址?

是的。

  • 文件流会怎样?

两个进程都保留所有打开的文件流的拷贝。 (默认情况下,我认为有一些 fork 选项可以改变这一点。) fork 后打开的流不共享。

关于c++ - fork 子进程和 C++ 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7313989/

相关文章:

C++ 11 不可复制类

linux - Rsync 使用 find 命令,删除原始文件,用符号链接(symbolic link)替换原始文件

Linux:运行多个命令而不丢失单个返回码?

c++ - 将无序映射写入共享内存不起作用

c++ - 通过函数遍历c数组

c++ - 使用计数器模式用 SHA256 加密数据是否聪明?

c++ - 从位置(到位置)读取文件

c++ - 隐式转换整数计算以在 C++ 中 float

linux - Bash 脚本 - 如何在另一个连接后运行 ssh

linux - Linux 中的公共(public)文件夹