gpt4 book ai didi

c - 字节级写访问保护?

转载 作者:太空宇宙 更新时间:2023-11-04 00:26:47 26 4
gpt4 key购买 nike

保护页面以供读取和/或写入访问是可能的,因为页表条目中的某些位可以在内核级别打开和关闭。有没有一种方法可以保护某些内存区域免受写访问,假设在 C 结构中有某些变量需要写保护,并且对它们的任何写访问都会触发段错误和核心转储。它类似于 mprotect () 的缩小功能,因为它在页面级别工作,是否有一种机制可以在用户空间的字节级别进行类似的事情。

谢谢,Kapil Upadhayay。

最佳答案

不,没有这样的设施。如果您需要对每个数据对象进行保护,则必须至少为每个对象分配一个页面(使用 mmap)。如果您还想对超出对象末尾的访问进行一些保护(对于数组),您可以分配至少比您需要的页面多一个页面,对齐对象,使其恰好在页面边界处结束,并使用 mprotect 以保护您分配的一个或多个附加页面。

当然这种方法会导致程序非常慢并且浪费大量资源。它可能不可行,除非作为一种调试技术,而 valgrind 可以更有效地满足这种需求,而无需修改您的程序...

关于c - 字节级写访问保护?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7495922/

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