- 论坛徽章:
- 11
|
靠,
2 #include <unistd.h>
3 #include <fcntl.h>
4 #include <sys/mman.h>
5
6 int main(int argc, char** argv){
7 int fd = open("/dev/zero", O_RDWR, 0);
8 if(fd == -1){
9 printf("error\n");
10 return -1;
11 }
12 void* addr = mmap(1024 * 1024, 16, PROT_READ|PROT_WRITE, MAP_SHARED, fd, 0);
13
14 if(0 == fork()){
15 printf("addr = %d\n", (int) addr);
16 memcpy(addr, "hello", 6);
17 sleep(10);
18 char* pch = (char*) addr;
19 printf("%s\n", pch);
20 return 0;
21 }
22
23 printf("addr = %d\n", (int) addr);
24 char* pch = (char*) addr;
25 printf("%s\n", pch);
26 pid_t pid = wait(0);
27 printf("pid = %d\n", (int) pid);
28 return 0;
29
30 }
自己运行 |
|