Linux——內存映射文件mmap

 

最好的參考資料:

1.師從互聯網。

2.UNP v2 Posix IPC的相關章節 12。

3.Linux man 命令。

第一條:mmap函數的用途

1.映射普通文件到進程內存空間,進行內存映射IO。

2.映射特殊文件到進程內存空間,進行匿名內存映射IO。

3.映射shm_open打開Posix 共享內存區到進程的內存空間,可以在無親緣的進程間提供數據共享、IO。

#include<sys/mman.h>

 

void *mmap (void *__addr, size_t __len, int __prot,  int __flags, int __fd, off_t __offset) ;//offset值必須是sysconf(_SC_PAGE_SIZE)的整數倍。一般默認爲0;//且len和offset指定的分爲一定要在fd引用的文件實際大小範圍之內,若不在映射可以,但讀寫會報錯。

int munmap (void *__addr, size_t __len) ;

int mprotect (void *__addr, size_t __len, int __prot);

int msync (void *__addr, size_t __len, int __flags);

沒什麼好說的看man和UNPv2的12章,很容易明白~~~^_^。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章