Через файловую систему /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 напрямую, без повторного чтения их там , поправьте, если ошибаюсь ^_^