gpt4 book ai didi

c - mprotect() 的替代方法

转载 作者:太空狗 更新时间:2023-10-29 16:09:50 26 4
gpt4 key购买 nike

mprotect 系统调用保护页面边界内的内存区域:

int mprotect(void *addr, size_t len, int prot);

在这里len应该是页面大小的倍数。

有没有办法只保护几个连续的地址,这些地址没有与页面边界对齐,即len < pagesize

最佳答案

我不这么认为,不。限制是因为 MMU对它可以控制的粒度有多细有硬件限制。有些表包含访问限制,你不能为每个字节分配一个表槽;表本身会使用你所有的内存。因此,它变得更加粗糙,每个页面都有表格条目。

如果您使用的是 Linux,您也许可以使用 Valgrind 做一些事情。

关于c - mprotect() 的替代方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1686464/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com