Через файловую систему / proc, вероятно, можно прочитать сопоставления памяти с помощью / proc / PID_PROCESS / maps, но есть ли какие-либо собственные API, предназначенные для этой функции в C / C ++?
, т. Е. Для поиска памятиадрес, доступный для записи и чтения для процесса с PID 9322:
%> awk -F "-| " '$3 ~ /rw/ { print $1 " " $2}' /proc/9322/maps
0804e000 0804f000
085ed000 0860e000
b7707000 b7708000
b7864000 b7865000
b7865000 b7868000
b7897000 b7898000
b78b6000 b78b7000
bfd2e000 bfd50000
И эти адреса передаются в мою программу, но теперь я хочу интегрировать эту функцию непосредственно в мою программу на C ++.
Для большей эффективности, если я хочу поддерживать другие системы * BSD, я не смог бы воспользоваться преимуществами системы / proc, и я думаю, что должен быть какой-то метод для генерации, например, / proc / 1 / maps, без повторного чтения тамПоправьте, если я ошибаюсь ^ _ ^