123456

 

2010年11月15日

用文件映射(File Mapping)实现进程间内存共享

摘要: 我们知道,在Windows中的每个进程都有自己独立的内存空间。该独立的内存空间包含了所有的可执行模块或DLL模块的代码和数据以及动态内存分配的空间。每个进程的内存空间只能被该进程访问,其他进程是不能访问的。 如果我们要想在进程间共享内存(也就是创建一块不同进程都能访问的内存),那就必须使用内核对象。因为内核对象由Windows系统内核所拥有,而不是由进程所拥有。 下面就用文件映射(File Mapping)和互斥量(Mutex)两中内核对象来实现简单的进程间内存共享。文件映射(File Mapping)用来开辟共享的内存空间,而互斥量(Mutex)则是用来使读写互斥。 在该例子里,实现了下面5 阅读全文

posted @ 2010-11-15 16:12 hgy413 阅读(251) 评论(0) 推荐(0)

进程间共享内存

摘要: 简明扼要:1.创建:HANDLE hFileMapping = CreateFileMapping(INVALID_HANDLE_VALUE, NULL, PAGE_READWRITE, 0, 1024, _T("XXXX"));//1024是文件大小,请自定义2.写入:HANDLE hFileMapping1 = OpenFileMapping(FILE_MAP_WRITE, FALSE, _T("XXXX"));void *pMapView = MapViewOfFile(hFileMapping1, FILE_MAP_WRITE, 0, 0, 10 阅读全文

posted @ 2010-11-15 15:45 hgy413 阅读(244) 评论(0) 推荐(0)

导航