Joh*_*ohn 5 c c++ linux memory kernel
当访问内存(读取或写入)时,是否存在分配某些内存并具有某种回调(无论是指向函数或信号的指针)的方法?
例如,如果我说分配1mb的内存,我想有办法在访问任何1mb时调用一个函数.
我正在研究的平台是x86 Linux,用C/C++编写.
gby*_*gby 7
就在这里.
使用mprotect(2)系统调用(请参阅:http://linux.die.net/man/2/mprotect)在页面上设置只读或无访问内存保护,并设置将在调用时调用的SIGEGVsignal处理程序内存已被访问.
请注意,您需要在信号处理程序中使用mprotect,以便在调用信号处理程序后实际允许内存访问,并且当您在不知情的情况下打开窗口以访问内存时,例如从不同的线程.根据您的具体用法,这可能是也可能不是问题.
归档时间:
14 年,7 月 前
查看次数:
2265 次
最近记录:
13 年,6 月 前