内存映射文件是利用虚拟内存把文件映射到进程的地址空间中去,在此之后进程 *** 作文件,就像 *** 作进程空间里的地址一样了,比如使用c语言的 memcpy等内存 *** 作的函数。这种方法能够很好的应用在需要频繁处理一个文件或者是一个大文件的场合,这种方式处理IO效率比普通IO效率要高。
内存映射,也是需要分配内存的.比如我将一个文件映射到内存,在内存中 *** 作时,是改写的内存中的文件,最后需要回写才能保存更改.所谓映射就是一个简单的备份,或者叫重定向.至于内存的释放,一般在程序中,栈区的内存会被系统自动回收,系统的内存管理机制请参考其他资料.现在由于语言的不同,对堆区的内存管理方式也不同,不过一般需要手动释放,也就是把内存归还系统并且在程序中忘记此地址以防止重用.不明白请追问欢迎分享,转载请注明来源:内存溢出
评论列表(0条)