Gil*_* PJ 3 c c++ linux system-calls
当我尝试研究一些处理 FPGA 的代码时,我遇到了 munmap、mmap。
我仔细阅读此处提供的手册。我仍然不明白这个功能的目的。这究竟是做什么的?
mmap()是一个系统调用,它有助于内存映射 I/O 操作。它分配一个内存区域并将其映射到调用进程的虚拟地址空间,以便应用程序访问该内存。
mmap() 返回一个指向可用于访问内存的映射区域的指针。
同样,munmap()删除映射,因此对分配的内存的进一步访问仍然合法。
这些是较低级别的调用,在行为上类似于更高级别上的malloc()/free()等内存分配器函数所提供的调用。但是,此系统调用允许对分配的区域行为进行细粒度控制,例如,
MAP_FIXED标志)MAP_UNINITIALIZED标志)等等。
如果您认为替代措辞可以帮助您,您也可以参考维基百科文章。