专注于互联网--专注于架构

最新标签
网站地图
文章索引
Rss订阅
映射文件把虚拟可寻址空间映射到文件上整个文件就可以很容易访问就像它在内存中样但是它实质还是在硬盘中只是需要时候载入需要部分到内存这样可以节约物理内存使用windows使用这个来加载EXE和DLL所以这个因该是高效windows下默认虚拟内存页最小是512KB所以对512KB以下文件使用就是多余低效 按照以下步骤使用 1.CreateFile打开您想要映射文件 2.CreateFileMapping其中要求传入先前CreateFile返回句柄该生成个建立在CreateFile创建文件对象基础上内存映射对象 3.MapViewOfFile映射整个文件个区域或者整个 [阅读全文] [PDF]
摘要: 本文给出了一种方便实用的解决大文件的读取、存储等处理的方法,并结合相关程序代码对具体的实现过程进行了介绍。   引言   文件操作是应用程序最为基本的功能之一,Win32 API和MFC均提供有支持文件处理的函数和类,常用的有Win32 API的CreateFile()、WriteFile()、ReadFile()和MFC提供的CFile类等。一般来说,以上这些函数可以满足大多数场合的要求,但是对于某些特殊应用领域所需要的动辄几十GB、几百GB、乃至几TB的海量存储,再以通常的文件处理方法进行处理显然是行不通的。目前,对于上述这种大文件的操作一般是以内存映射文件的方式来加以处理的, [阅读全文] [PDF]
内存映射文件 本课中我们将要讲解内存映射文件并且演示如何运用它。您将会发现使用内存映射文件是非常简单的。 理论: 如果您仔细地研究了前一课的例子, 就会发现它有一个严重的缺陷:如果您想读的内容大于系统分配的内存块怎么办?如果您想搜索的字符串刚好超过内存块的边界又该如何处理?对于第一个问题,您也许会说,只要不断地读就不解决了吗。至于第二个问题,您又会说在内存块的边界处做一些特别的处理,譬如放上一些标志位就可以了。原理上确实是行得通,但是这随问题复杂程度加深而显得非常难以处理。其中的第二个问题是有名的边界判断问题,程序中许许多多的错误都是由此引起。想一想,如果我们能够分配一个能够容纳整个文 [阅读全文] [PDF]
1 共3条 分1页