小编Sat*_*l76的帖子

使用fork:从父级访问子进程内存

我在C中使用fork()来分解运行本地数组的工作,让每个进程运行一半,然后将数组中每个点的数字相乘,然后将产品设置在第三个数组中.

pid_t  pid;
pid = fork();

if (pid == 0){
    for (i=1; i<((SIZE/2)+1); i++)
    {
        output[i] = (one[i] * two[i]);
    }
    exit(0);
}
else{
    wait(NULL);
        for (i=((SIZE/2)+1); i<(SIZE+1); i++)
        {
            output[i] = one[i]*two[i];
        }         
}
Run Code Online (Sandbox Code Playgroud)

但是,当我在这段代码之后打印产品数组时,我只接收父进程设置的部分,我假设这是因为子进程将其值存储在父进程无法选择的内存中打印产品阵列时,但我不完全确定.在此先感谢您的帮助.

c memory arrays fork shared

5
推荐指数
2
解决办法
3401
查看次数

标签 统计

arrays ×1

c ×1

fork ×1

memory ×1

shared ×1