Как я могу предотвратить (не реагировать на) ошибку сегментации?
Я не пытаюсь справиться с ошибкой сегментации. Я понимаю, как работает обработка исключений, более или менее. Я бы предпочел не иметь вины в первую очередь. То, что я хочу сделать, это вызвать функцию или выполнить операцию, которая возвращает значение, сообщающее мне, доступна ли конкретная ячейка / блок памяти, без фактического доступа к ней и получения ошибки.
То есть мне бы хотелось, чтобы функция C проверяла адрес в Linux и / или Mac OS X, прежде чем получить к нему доступ. Что-то вроде:
result = probe_memory(address,length)
где результат
0 = writable
1 = read-only
-1 = nonexistent
Или что-то вдоль этих линий.
Есть ли что-нибудь подобное в Linux и / или Mac OS X?