- 论坛徽章:
- 59
|
- #include <stdio.h>
- #include <stdlib.h>
- int g=100;
- int _main(){
- pid_t pid;
- int local=12;
- printf("address of local: %p,pid: %p\n",&local,&pid);
- printf("this is in parant!\n");
- if((pid=vfork())<0){
- printf("fork err!\0");
- exit(-1);
- }else if(pid==0){
- ++g;
- local=20;
- exit(0);
- }else{
- sleep(13);
- printf("back to parant! again\n");
- printf("%d,%d\n",g,local);
- exit(0);
- }
- return; // -- Return to main
- }
- int modify_local(){
- volatile pid_t pid;
- volatile int _____NOTICE_THIS_VARIANT_______________________________local=1024;
- printf("address of local: %p,pid: %p\n",&_____NOTICE_THIS_VARIANT_______________________________local,&pid);
- return local+pid;
- }
- int main(){
- _main();
- modify_local();
- exit(0);
- return 0;
- }
复制代码 回复 3# ilogo1
|
|