假设我有一个主进程正在运行,并且在它的执行过程中它已经初始化了一些指针并创建了一些预定义结构的实例。
现在,如果我分叉这个主进程,是否为指针分配了单独的内存?并且是先前存在的变量的重复实例,为这个新进程创建的数据结构?
作为我的要求的一个例子,考虑 -
struct CKT
{
...
}
main()
{
...Some computations with the structure and other pointers.....
pid_t pid = fork();
if(pid == 0) //child
{
..some more computations with the structure...but I need a
..separate instance of it with all the pointers in it as well..
}
else if(pid > 0) // parent
{
..working with the original instance of the structure..
}
// merging the child process with the parent...
// after reading the data of the child processes structure's data...
// and considering a few cases...
}
谁能解释我如何实现这一目标?