利用内存映射文件扩充程序可用的内存[2]

[入库:2005年8月18日] [更新:2007年3月24日]

本文简介:选择自 hszj 的 blog

//建文件映射对象, ifilesize指定要建立的映射文件的大小,例如600 ifilesize = 1024 * 1024 *600。当我们打开的硬盘上的文件没有这么大时,windows会自动将该文件扩展到指定的大小。

hfilemap := createfilemapping(hfile, nil, page_readwrite, 0,  ifilesize, nil);

//文件数据映射到进程的地址空间

pdata := mapviewoffile(fmaphandle, file_map_write, 0, 0, ifilesize);

然后我们就可以通过pdata指针充分利用windows为我们多扩充的这600兆内存了。当然是用完以后,要做一些清场工作。

//进程的地址空间中撤销映射

unmapviewoffile(pdata);

//闭文件映射对象和打开的文件

closehandle(hfilemap);

本文关键:内存映射文件
 

本站最佳浏览方式为 分辨率 1024x768 IE 6.0(或更高版本的 IE浏览器)

go top