- 论坛徽章:
- 0
|
我这个程序要验证子进程与其父进程的地址空间不同,但未得到如期结果,哪位说说原因。
[root@law a]# cat testProc.c
int a=5;
int main()
{
int pid;
int b=9;
pid=fork();
if(pid==0)
{
printf("ChildID: %d, addr of a is: %p, addr of b is %p\n", pid, &a, &b);
printf("a=%d, b=%d\n", a, b);
a=a+10;
b=b+10;
printf("a=%d, b=%d\n", a, b);
}
else
{
printf("ParentID: %d, addr of a is: %p, addr of b is %p\n", pid, &a, &b);
printf("a=%d, b=%d\n", a, b);
}
return 0;
}
[root@law a]# ./testProc
ChildID: 0, addr of a is: 0x80496bc, addr of b is 0xbfec2bb0
a=5, b=9
a=15, b=19
ParentID: 3176, addr of a is: 0x80496bc, addr of b is 0xbfec2bb0
a=5, b=9
[ 本帖最后由 lawzjf 于 2008-9-21 18:42 编辑 ] |
|