黑马程序员Linux系统开发视频之mmap使用注意事项
使用mmap時務必注意以下事項。原封不動搬運過來,版權歸原作者所有。?
NAME
?????? mmap, munmap - map or unmap files or devices into memory
SYNOPSIS
?????? #include <sys/mman.h>
?????? void *mmap(void *addr, size_t length, int prot, int flags, int fd, off_t offset);
?????? int munmap(void *addr, size_t length);
?使用mmap時務必注意以下事項:
1.創建映射區的過程中,隱含著一次對映射文件的讀操作。
2.當MAP_SHARED時,要求:映射區的權限應該<=文件打開的權限(出于對映射區的保護)。而MAP_PRIVATE則無所謂,因為mmap中的權限是對內存的限制。
3.映射區的釋放與文件關閉無關。只要映射建立成功,文件可以立即關閉。
4.特別注意,當映射文件大小為0時,不能創建映射區。所以:用于映射的文件必須有實際大小!!mmap使用時常常會出現總線錯誤,通常是由于共享存儲空間大小引起的。
5.munmap傳入的地址一定是mmap的返回地址。堅決杜絕指針++操作。
6.如果文件偏移量必須為4k的整數倍。
7.mmap創建映射區出錯概率非常高,一定要檢查返回值,確保映射區建立成功再進行后續操作。
總結
以上是生活随笔為你收集整理的黑马程序员Linux系统开发视频之mmap使用注意事项的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 编译原理三大经典书籍(龙书 虎书 鲸书)
- 下一篇: 黑马程序员Linux系统开发视频之产生信