iga*_*l k 0 c++ memory winapi memory-management shared-memory
我试图将一个相对较大的文件加载到内存中,并能够通过a访问它HANDLE,就像检索一样CreateFile().
加载文件
在内存中加载时更改多个属性
HANDLE我无法再次将文件保存到硬盘.
在MSDN上有一个例子,我可以在其中创建一个共享内存:遗憾的是,创建命名共享内存我不太确定这与我的赋值有多相关,因为函数检索的句柄是FileMapping句柄,缓冲区本身是一个LPCTSTR指针.
好吧,出于所有实际目的,你不能阻止RAM被交换到硬盘驱动器,所以我会给你一个同样好的解决方案.
HANDLE用CreateFile(... , FILE_ATTRIBUTE_TEMPORARY | FILE_FLAG_DELETE_ON_CLOSE).创建一个新文件.这告诉操作系统内容不需要离开文件缓存(RAM),除非RAM很少.我们已经确定当RAM耗尽时,任何东西都可以换成磁盘.
接下来,将源文件中的内容复制到新的临时文件中,然后根据需要进行修改.
| 归档时间: |
|
| 查看次数: |
521 次 |
| 最近记录: |