@Arsen00

Что произойдёт при попытке получить доступ к адресу 0х0 виртуальной памяти?

Есть фото с адресами, начинающимися с 0х1000, 0х1008, 0х1010, 0х1018 и т.д.
Что произойдёт при попытке получить доступ к адресу 0х0 виртуальной памяти?
  • Вопрос задан
  • 117 просмотров
Решения вопроса 1
jcmvbkbc
@jcmvbkbc
http://dilbert.com/strip/1998-08-24
В контексте языка С++ будет неопределённое поведение с непредсказуемыми последствиями. Оптимизирующий компилятор может реорганизовать последовательность выполнения программы рассчитывая на то, что разыменовываемый указатель в валидной программе не может быть равен 0.

В контексте поведения программы, если доступ по адресу 0 произойдёт, поведение зависит от ОС/среды выполнения. Варианты -- программе будет послан сигнал SIGSEGV (POSIX), в программе произойдёт исключение (windows), доступ будет выполнен как к любому другому адресу (ОС без защиты памяти).
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы