存储映射I/O函数
2024-10-08 17:59:47
1.void * mmap((void *addr, size_t length, int prot, int flags, int fd, off_t offset)
参数:
addr:用于指定映射存储区的起始地址,通常设置为0,表示由系统自行选择映射地址,函数返 回映射区的起始地址
length:映射区的长度 (字节数)
prot:PROT_READ 映射区可读
PORT_WRITE 可写
flags:MAP_SHARED 映射成功,改内存则磁盘也会发生改变
MAP_PRIVATE映射成功, 只改变内存,磁盘不会发生改变
fd: 要操作的文件
offset: 偏移到文件的哪里开始映射
2.int munmap(void *addr,size_t len) //解除映射
3.注意事项:
3.1映射长度不能大于文件长度,否则会发生段错误,如果想要加长映射空间,可以调用函数
ftruncate(fd,size);
3.2用于mmap映射的IO,哪怕只写映射都必须用RDWR方式打开要映射的文件
最新文章
- 构建高可用ZooKeeper集群
- #研发解决方案#iDB-数据库自动化运维平台
- Eclipse编程时的快捷键总结
- 一个疑难杂症 IIS URL区分大小写(FF的自动变换URL问题)?
- myeclipse中发送邮件出现Exception in thread ";main"; java.lang.NoClassDefFoundError: com/sun/mail/util/LineInputStream
- Copy15G的初始容量,注册就再送5G,邀请注册的人也送5G
- 161103、Spring Boot 入门
- codeforces 340C Tourist Problem(简单数学题)
- PHP5 session 详解
- Java教程——CMD手动编译运行失败原因(高手略过)
- C++ builder 生成以管理员身份运行的exe
- Raphael入门实例:绘图
- HDU2952:Counting Sheep(DFS)
- 【JAVAWEB学习笔记】22_ajax
- jvm虚拟机分享课笔记
- NYOJ 食物链(WA)
- Swift 中的闭包与 C 和 Objective-C中的 blocks 以及其它一些编程语言中的 lambdas 比較类似。
- RF采用SSHLibary库执行sudo命令,提示sudo: sorry, you must have a tty to run sudo错误的解决办法
- Android中怎样调用拨打电话?
- linux 初学体验 20155317 王新玮