Jak mogę zapobiec (nie reagować) na błąd segmentacji?

Nie próbuję obsłużyć błędu segmentacji. Rozumiem, jak działa obsługa wyjątków, mniej lub bardziej. W pierwszej kolejności wolałbym nie mieć winy. Chcę wywołać funkcję lub wykonać operację zwracającą wartość informującą mnie, czy ta konkretna lokalizacja / blok pamięci jest dostępny, bez faktycznego dostępu do niego i uzyskania błędu.

Oznacza to, że chciałbym, aby funkcja C sondowała adres w Linuksie i / lub Mac OS X przed uzyskaniem dostępu do niego. Coś jak:

result = probe_memory(address,length)

gdzie jest wynik

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

lub coś podobnego.

Czy jest coś takiego w Linuksie i / lub Mac OS X?

questionAnswers(3)

yourAnswerToTheQuestion