c++fork()和地址空间

c++ fork() and address space

本文关键字:地址空间 c++fork      更新时间:2023-10-16

在此处完成GNU fork() noob。我需要派生N个进程,它们将做完全相同的事情:分配2个数组,初始化它们并处理数据。我尝试了可以简单压缩为的代码

int main()
{
    int a = 0;
    double b = 0;
    double *a1, *a2;
    fork();
    a1 = new double[10];
    a2 = new double[10];
    // initialize and process data in a1 and a2 using an algorithm involving a and b.
}

在为每个进程创建a1a2的副本以及ab的副本方面,我的fork()是否处于正确的位置?或者ab的声明和/或初始化应该落在fork()调用之后?每个进程都应该有自己的a, b, a1 and a2

进程的地址空间总是不同的,即使它们处于父子关系中。