Форум программистов, компьютерный форум CyberForum.ru

C++

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.83
Jimbo-Leps
1 / 1 / 1
Регистрация: 05.11.2011
Сообщений: 15
#1

Абсолютная и Относительная адресация. - C++

17.02.2012, 18:05. Просмотров 1530. Ответов 6
Метки нет (Все метки)

здравствуйте у меня такой вопрос.
Вот я слышал что есть Абсолютный и Относительный адрес.
из определения я понял что абсолютный адрес,это динамический адрес в программе и он после каждого запуска приложения может менятся,
А относительный адрес всегда один и тот же ,
то есть вот запустил я программу и по аддресу 0x0000F4A1 всегда хранится одно и тоже значение.
и адрес этого значения не меняется,
подскажите пожалуйста как находится относительный адрес.
просто нужно найти адрес float переменной,который не когда не меняется.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Jupiter
Каратель
Эксперт С++
6549 / 3969 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
17.02.2012, 18:07     Абсолютная и Относительная адресация. #2
абсолютный адрес + смещение и есть относительный адрес
Jimbo-Leps
1 / 1 / 1
Регистрация: 05.11.2011
Сообщений: 15
17.02.2012, 18:56  [ТС]     Абсолютная и Относительная адресация. #3
спасибо с этим разобрался,теперь следующее.
есть ид процесса,как найти базовый адрес этого процесса?
CheshireCat
Эксперт С++
2891 / 1240 / 78
Регистрация: 27.05.2008
Сообщений: 3,340
17.02.2012, 20:38     Абсолютная и Относительная адресация. #4
А в какой системе-то?
В Windows подавляющее большинствор (~99%) процессов имеют базовый адрес 0x00400000.
Jimbo-Leps
1 / 1 / 1
Регистрация: 05.11.2011
Сообщений: 15
17.02.2012, 21:22  [ТС]     Абсолютная и Относительная адресация. #5
Цитата Сообщение от CheshireCat Посмотреть сообщение
А в какой системе-то?
В Windows подавляющее большинствор (~99%) процессов имеют базовый адрес 0x00400000.
Я правильно понял ? процесс у которого самый высокий приоритет имеет базовый адрес 0x00400000 в системе виндоус?
CheshireCat
Эксперт С++
2891 / 1240 / 78
Регистрация: 27.05.2008
Сообщений: 3,340
17.02.2012, 21:35     Абсолютная и Относительная адресация. #6
Нет, неправильно. Приоритеты процессов никак не связаны с их базовыми адресами.
В Винде каждый процесс запускается в своем собственном виртуальном адресном пространстве. Его базовый адрес в этом виртуальном адресном пространстве, как правило, 0x00400000. Как именно виртуальное АП процесса отображается на физическую память - тебе знать не нужно, этим занимается операционная система. Любая страница виртуального АП может быть вытеснена на диск по усмотрению ОС, а потом, когда вновь понадобится - подгружена с диска, причем может оказаться совершенно по другому физическому адресу. Сопоставлением физических и логических адресов занимается ОС.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.02.2012, 21:01     Абсолютная и Относительная адресация.
Еще ссылки по теме:

C++ Builder Адресация в String
C++ Статический массив, адресация указателями и индексами
C++ Адресация на другой срр файл
C++ Докажите, что относительная ошибка расчета формулы (x-y)(x+y) меньше разности квадратов x и y
C++ Косвенная адресация объектов

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
kravam
быдлокодер
1690 / 877 / 44
Регистрация: 04.06.2008
Сообщений: 5,394
20.02.2012, 21:01     Абсолютная и Относительная адресация. #7
Цитата Сообщение от Jimbo-Leps Посмотреть сообщение
есть ид процесса,как найти базовый адрес этого процесса?
Здесь находится код, который ищет полный путь к "файлу-создателю", нужный тебе адрес и прочая. (передаёшь ListProcessModules PID этого процесса)
Yandex
Объявления
20.02.2012, 21:01     Абсолютная и Относительная адресация.
Ответ Создать тему
Опции темы

Текущее время: 11:48. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru