c++ - 是否有任何 API 或方法可以防止对动态分配的内存进行读访问(和写)?

标签 c++ c linux memory-management

是否有任何 API 或方法可以防止对动态分配的内存进行读取访问?

char *ptr = malloc(4);`
strcpy(ptr, "Hello");`

现在,我希望 ptr 没有读访问权限并受到写保护。 如何实现这一点?

我不希望使用mprotect,因为它期望ptr指向映射内存,并且每次都放大动态内存可能是不可能的。

最佳答案

mprotect 仍然是答案。您需要页面对齐的分配,并且没有可能需要可写的分配器控制信息 - 因此通过 mmap 匿名内存来分配内存。

关于c++ - 是否有任何 API 或方法可以防止对动态分配的内存进行读访问(和写)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8615334/

相关文章:

c++ - Luabind:在调用表中的函数时如何使用表的存储值?

c++11 将 std::tuple 解压到虚拟成员函数中

C++ 将数字从小到大排序

c++ - 条件运算符(?:) work in C++?

c - 何时在 C 中使用指针

c - 如何在 libxml2 中添加由字符串构造的 xml 节点

c - 错误 10 错误 C2371 : 'print_plant' : redefinition; different basic types [C]

c - 为什么在 Linux 中使用 select

linux - 如何使用 Docker 远程 API?

linux - 庆典脚本。使用计数的数字和名称运行命令