Windows API学习(一)MapViewOfFile后一定要UnMapViewOfFile
2017-03-17 19:16
1346 查看
MapViewOfFile返回的p是系统预留(reserve)的进程内的地址空间, 每Map一次,就预留一块地址,直到显式调用UnMapViewOfFile或进程结束(被操作系统资源回收)。 所以是的, 如果不取消映射, 迟早会没有足够的空间地址供预留。 具体你看参看一下MSDN或Jeffrey Richter写的Windows via C/C++一书, 其中提到: You must remember to call UnmapViewOfFile. If you do not call this function, the reserved region won't be released until your process terminates. Whenever you call MapViewOfFile, the system always reserves a new region within your process' address space—any previously reserved regions are not released. 又: 你可以每次映射不同的段(同一文件的同一个映射对象),这些不同的MapView的内容是协同的,当然最后还是要UnMap一下的,有始有终,成堆出现,这本来就是一个好的程序所应具备的起码的风格。
相关文章推荐
- CreateFileMapping 、MapViewOfFile、UnmapViewOfFile函数用法及示例
- Windows API一日一练(59)CreateFileMapping和MapViewOfFile函数
- Windows API一日一练(59)CreateFileMapping和MapViewOfFile函数
- [zz]内存映射文件,UnmapViewOfFile/MapViewOfFile(转载)
- 用MapViewOfFile处理大文件-内存不足(转帖学习)
- MapViewOfView和UnmapViewOfFile
- CreateFileMapping 、MapViewOfFile、UnmapViewOfFile函数用法及示例(转载)
- 内存映射文件,UnmapViewOfFile/MapViewOfFile(转载)
- MapViewOfFile 内存泄露
- (转)mapViewOfFile内存文件读写
- MapViewOfFile
- [置顶] 内存映射失败MapViewOfFile 失败 返回 8
- Windows环境下利用“共享内存”实现进程间通信的C/C++代码---利用CreateFileMapping和MapViewOfFile
- 内存映射失败MapViewOfFile 失败 返回 8
- 共享内存对象方法(MapViewOfFile)
- CreateFileMapping, MapViewOfFile 实现文件共享
- 关于使用MAPVIEWOFFILE大文件的读写(DELPHI版)
- 使用文件映射的方式进行共享数据中CreateFileMapping、MapViewOfFile函数参数说明
- CreateFileMapping ,MapViewOfFile和OpenFileMapping的用法