Как я могу предотвратить (не реагировать на) ошибку сегментации?

Я не пытаюсь справиться с ошибкой сегментации. Я понимаю, как работает обработка исключений, более или менее. Я бы предпочел не иметь вины в первую очередь. То, что я хочу сделать, это вызвать функцию или выполнить операцию, которая возвращает значение, сообщающее мне, доступна ли конкретная ячейка / блок памяти, без фактического доступа к ней и получения ошибки.

То есть мне бы хотелось, чтобы функция C проверяла адрес в Linux и / или Mac OS X, прежде чем получить к нему доступ. Что-то вроде:

result = probe_memory(address,length)

где результат

 0 = writable
 1 = read-only
-1 = nonexistent

Или что-то вдоль этих линий.

Есть ли что-нибудь подобное в Linux и / или Mac OS X?

Ответы на вопрос(3)

Ваш ответ на вопрос