Windows环缓冲区无需复制
发布时间:2020-12-14 04:20:51 所属栏目:Windows 来源:网络整理
导读:在 Ring Buffer’s Wikipedia entry,有 example code显示 UNIX系统的黑客,其中相邻虚拟内存到一块内存是 mapped到相同的物理内存,因此实??现了一个环形缓冲区而不需要任何 memcpy等.我想知道是否有办法在 Windows这么类似的东西? 谢谢,弗雷泽 我并没有真正
在
Ring Buffer’s Wikipedia entry,有
example code显示
UNIX系统的黑客,其中相邻虚拟内存到一块内存是
mapped到相同的物理内存,因此实??现了一个环形缓冲区而不需要任何
memcpy等.我想知道是否有办法在
Windows这么类似的东西?
谢谢,弗雷泽
我并没有真正遵循维基百科中的示例的所有细节.考虑到这一点,您使用
CreateFileMapping和
MapViewOfFile在Windows中映射内存,但MapViewOfFile不允许您为映射指定基址.
MapViewOfFileEx可用于指定基址,因此您可以使用类似的技术.
我没有办法告诉这是否真的有效: // determine valid buffer size SYSTEM_INFO info; GetSystemInfo(&info); // note that the base address must be a multiple of the allocation granularity DWORD bufferSize=info.dwAllocationGranularity; HANDLE hMapFile = CreateFileMapping( INVALID_HANDLE_VALUE,NULL,PAGE_READWRITE,bufferSize*2,L"Mapping"); BYTE *pBuf = (BYTE*)MapViewOfFile(hMapFile,FILE_MAP_ALL_ACCESS,bufferSize); MapViewOfFileEx(hMapFile,bufferSize,pBuf+bufferSize); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- winapi – Win32 CRITICAL_SECTION包含什么?
- windows – 使用复制粘贴移动hg repo文件夹?
- windows-server-2008 – LDAP身份验证:Windows Server2k3与
- windows-server-2008-r2 – 监视服务器上IOPS的实用程序
- windows – 是否可以列出我无权访问的所有权限
- windows-server-2008-r2 – IIS 7.5无法编写配置文件
- Windows – 从不同目录中的另一个批处理文件调用批处理文件
- Windows 2012 R2启动按钮无法通过RDP工作
- uwp – 如何使用Universal Windows App中的System.Net.Http
- windows – IE6 IE7在干净的XP安装上
推荐文章
站长推荐
- Windows-server-2008 – Windows EC2机器上的固定
- 鼠标右键vsCode打开
- 汇编 – 为什么MS-DOS不初始化DS和ES寄存器?
- windows-server-2003 – Windows Server 2008/20
- windows-8 – 使用MVVM Light在Windows 8中实现状
- windows10服务器管理器不能启动怎么解决
- vs调试程序缺少 msvcp140d.dll 解决方法
- 使用Windows身份验证调用WCF服务时无法执行URL
- 在Windows对话框中处理WM_ERASEBKGND时如何避免闪
- windows-server-2003 – 如何连接到特定的域控制
热点阅读