我尝试在使用fork()时更新整个应用程序im中的整数指针值。我无法理解,我想在叉子里发生了什么。它不会与主共享相同的变量吗?我怎么能让主要更新它的值,当他们在叉中变化。这里是我的什么我尝试做一个想法,创建了一个例子:在Linux中使用fork()时使用指针的引用值
#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
void changeValue(int *value)
{
*value = *value * 2;
printf("value in changeValue(): %d\n", *value);
}
main()
{
int pid;
int *value = new int;
*value = 10;
printf("value in main: %d\n", *value);
pid = fork();
if (pid == 0) {
changeValue(value);
_exit(0);
}
sleep(2);
// I want value = 20 here, but value stays = 10
printf("value in main after fork(): %d\n", *value);
}
**美丽!!谢谢!!保存我!! ** – ArmYourselves
只是我在手册页上阅读:MAP_ANON似乎被弃用;使用MAP_ANONYMOUS来代替(参见[mmap](http://linux.die.net/man/2/mmap)) –