⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 map_sigbus.c

📁 关于进程间通信的代码集锦
💻 C
字号:
#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 fd,i;	int pagesize,offset;	people* p_map;			pagesize=sysconf(_SC_PAGESIZE);	printf("pagesize is %d\n",pagesize);	fd=open(argv[1],O_CREAT|O_RDWR,00777);	lseek(fd,pagesize*2-100,SEEK_SET);		write(fd,"",1);	offset=0;	p_map=(people*)mmap(NULL,pagesize*3,PROT_READ|PROT_WRITE,MAP_SHARED,fd,offset);	close(fd);	for(i=1;i<10;i++)	{		(*(p_map+pagesize/sizeof(people)*i-2)).age=100;		printf("access page %d over\n",i);		(*(p_map+pagesize/sizeof(people)*i-1)).age=100;		printf("access page %d edge over now begin to access page %d\n",i,i+1);		(*(p_map+pagesize/sizeof(people)*i)).age=100;		printf("access page %d over\n",i+1);	}	munmap(p_map,sizeof(people)*10);	return 0;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -