2006-06-05 (1)共享内存 mmap

原创 2006年06月05日 15:43:00

#include <sys/mman.h>
#include <sys/types.h>
#include <fcntl.h>
#include <unistd.h>

 

 fd=open(FilenamePTR,O_CREAT|O_RDWR|O_TRUNC,00777);
 lseek(fd,sizeof(STRUCTOFDATA)*n-1,SEEK_SET);
 write(fd,"",1);//定义文件的大小,但并不妨碍在内存中的访问大小,

//取决于页面的大小pagesize = sysconf(_SC_PAGESIZE);
 
 STRUCTOFDATA s_map = (STRUCTOFDATA*) mmap( NULL,sizeof(people)*10,PROT_READ|PROT_WRITE,MAP_SHARED,fd,0 );
 close( fd );//并不妨碍对共享内存的访问

  memcpy( ( *(s_map ) ).data1, &des,N );


 sleep(10);

 munmap( s_map, sizeof(STRUCTOFDATA)*n );

 

 

 

相关文章推荐

进程通信-共享内存-mmap()-code1

参考了sjmw888的用例,在其基础上做了修改,用于三个进程共享内存, 但每个进程只对特定区段改写. 简单模拟,未使用信号、信号量等来控制。 /*-------------map_normalfi...

LINUX共享内存mmap

很多事情看起来很简单,但是动起手来,发现会有很多问题我们刚开始没有考虑到的。我们知道LINUX下的一种进程间通信叫共享内存,也就是使用mmap来实现。 首先介绍一下mmap这个函数 http://...

共享内存mmap

mmap的是将文件指定的区域映射到内存中,操作内存

mmap映射区和shm共享内存的区别总结

linux中的两种共享内存。一种是我们的IPC通信System V版本的共享内存,另外的一种就是我们今天提到的存储映射I/O(mmap函数) 在说mmap之前我们先说一下普通的读写文件的原理,进...

linux共享内存之mmap

这应该可以算得上是IPC的一种,虽然效率可能并没有其它IPC方式高. 看到map很容易联想到映射.的确,mmap就是一种映射方式,将打开的文件和一段连续的内存做映射.使得对内存进行操作即可以实现对文件...
  • cp3alai
  • cp3alai
  • 2015年01月03日 22:45
  • 563

Linux\Unix IPC进程通信实例分析(一):共享内存通信---文件映射mmap方式

说明:这个例子是采用共享文件映射形式,写端写入数据,读端读取数据。 写端:  /*-------------map_normalfile1.c-----------*/ #include #in...

linux网络编程之共享内存简介和mmap 函数

一、共享内存简介 共享内存区是最快的IPC形式,这些进程间数据传递不再涉及到内核,换句话说是进程不再通过执行进入内核的系统调用来传递彼此的数据。 即每个进程地址空间都有一个共享存储器的映射区,当...

共享内存映射之mmap()函数详解

本文 共享内存映射之mmap()函数详解    共享内存可以说是最有用的进程间通信方式,也是最快的IPC形式,因为进程可以直接读写内存,而不需要任何数据的拷贝。对于像管道和消息队列等通...

Linux共享内存(mmap详解)

mmap()系统调用使得进程之间通过映射同一个普通文件实现共享内存。普通文件被映射到进程地址空间后,进程可以向访问普通内存一样对文件进行访问,不必再调用read(),write()等操作。...
  • MJ813
  • MJ813
  • 2016年08月01日 06:47
  • 2205

共享内存mmap()和CreateFileMapping()

共享内存是进程间的一种通信机制,而且它的作用不止于此。它的主要作用包括:提高I/O效率,匿名内存映射,内存共享进程通信。两个不同进程共享内存的意思是,同一快物理内存映射到该两个进程的进程地址空间。使用...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:2006-06-05 (1)共享内存 mmap
举报原因:
原因补充:

(最多只允许输入30个字)