mmap函数和mprotect函数

本文详细探讨了Linux系统中mmap函数用于内存映射的原理和使用场景,以及mprotect函数如何改变映射内存的保护属性。通过这两个函数,开发者可以高效地管理进程内存,实现文件到内存的直接读写,以及动态调整内存的读写权限。了解这些技术对于优化系统性能和保障程序安全性至关重要。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

include <sys/mman.h>
void *mmap(void *addr,  //用于指定映射存储区的起始地址,通常设置为0,表示让操作系统选择该映射区的起始地址。此函数的返回地址是映射区的起始地址。
 size_t len,  //映射的字节数
 int plot,    //对映射区的保护要求 1、PROT_READ(映射区可读)  2、PROT_WRITE(映射区可写)  3、PROT_EXEC(映射区可执行)  4、PROT_NONE(映射区不可访问)
 int flag,    //flag参数影响映射存储区的各种属性
 int filedes,  //指定要被映射文件的描述符
 off_t off);    //off表示要映射的字节在文件中的起始偏移量


2、mprotect函数---更改一个现存映射存储区的权限
int *mprotect(void *addr,   //地址addr必须是系统页长的整数倍
 size_t len,   //len长度
 int plot);    // 对存储映射区保护要求 1、PROT_READ     2、PROT_WRITE    3、PROT_EXEC    4、PROT_NONE

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值