我必须 munmap() 一个 mmap() 文件吗?

Fen*_*ick 5 c++ garbage-collection mmap

我对 C++ 比较陌生,我正在学习另一个人的代码。他的代码从一个 mmapped 文件中读取,但最终没有释放任何映射内存。据我了解, mmap() 将文件映射到虚拟内存中。我不需要以某种方式释放那些映射的内存,比如调用 munmap() 吗?

小智 7

我相信你应该用 munmap 释放映射内存。但它会在 exit() 之后自动释放(就像常规文件或套接字的 close 系统调用一样)。请记住,隐式关闭/取消映射是不好的风格!