map_anoy.c
来自「关于进程间通信的代码集锦2」· C语言 代码 · 共 42 行
C
42 行
#include <sys/mman.h>#include <sys/types.h>#include <fcntl.h>#include <unistd.h>typedef struct{ char name[4]; int age;}people;int main(int argc,char** argv){ int i; people* p_map; char temp; p_map=(people*)mmap(NULL,sizeof(people)*10,PROT_READ|PROT_WRITE,MAP_SHARED|MAP_ANONYMOUS,-1,0); if(fork()==0) { sleep(2); for(i=0;i<5;i++) { printf("child read: the %d people's age is %d\n",i+1,(*(p_map+i)).age); } (*p_map).age=100; munmap(p_map,sizeof(people)*10); exit(0); } temp='a'; for(i=0;i<5;i++) { temp+1; memcpy((*(p_map+i)).name,&temp,2); (*(p_map+i)).age=20+i; } sleep(5); printf("parent read:the first people's age is %d\n",(*p_map).age); printf("umap\n"); munmap(p_map,sizeof(people)*10); printf("umap ok\n"); return 0;}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?