указатель функции: физический или виртуальный адрес - PullRequest
13 голосов
/ 24 августа 2009

когда мы получаем адрес функции или какого-либо объекта в этом отношении, является ли это виртуальным адресом или физическим адресом этого объекта ??

Ответы [ 2 ]

13 голосов
/ 24 августа 2009

Вы спрашиваете об указателях в целом?

В большинстве операционных систем это логические адреса.

Операционная система отвечает за перевод их в физические адреса с помощью виртуальной памяти и механизма подкачки. Это прозрачно для программы. Вот почему ошибочная программа «выходит за границы» и GPF.

В некоторых старых системах (например, DOS) они будут физическими, что позволит вам перезаписывать содержимое в других частях памяти.

8 голосов
/ 24 августа 2009

Зависит от операционной системы и уровня запуска вашего кода.

Для обычной пользовательской программы в современной ОС вы получите виртуальный адрес.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...