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

Значение, хранящееся по адресу - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 19, средняя оценка - 4.63
Poet
2 / 2 / 0
Регистрация: 10.09.2009
Сообщений: 91
19.03.2011, 09:40     Значение, хранящееся по адресу #1
Как узнать адрес, по которому находится значение переменной, я уже знаю.
это с помощью = &var

А как узнать значение по адресу вообще? То есть если известен только адрес, и требуется узнать что там на нем. При том не используя переменные и указатели.
Вобще, возможно ли такое?

Я написал

cout << 0x10101010;

результат выдал. Но конечно же всегда одинаковый при каждом запуске.
Хотелось бы уточнить что это получилось такое?
И второе: это выводится значение адреса, который занимает сама программа или вся система вобще?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.03.2011, 09:40     Значение, хранящееся по адресу
Посмотрите здесь:

C++ Парадокс: значение переменой равно её адресу. Помогите разобраться!
C++ по адресу получить значение
C++ Необработанное исключение по адресу 0x00ED4891 в strings.exe: 0xC0000005: нарушение прав доступа при чтении по адресу 0xCCCCCCCC
C++ Необработанное исключение по адресу 0x00105FD7 в Динамические структуры: 0xC0000005: нарушение прав доступа при чтении по адресу 0xCDCDCE09
C++ Исправить ошибку: необработанное исключение по адресу, нарушение прав доступа при записи по адресу
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
bigredcat
364 / 311 / 3
Регистрация: 24.02.2011
Сообщений: 1,512
Записей в блоге: 1
19.03.2011, 10:29     Значение, хранящееся по адресу #2
cout << 0x10101010; это вы выводите само значение 0x10101010 только в десятичном представлении. Попытка прочитать значение хранящегося по адресу 0x10101010 скорее всего вызовет у вас исключение Access Violation.
Попробуйте вот так cout << hex << 0x00400000 << ":" << *(int*)0x00400000;
HighPredator
 Аватар для HighPredator
5352 / 1735 / 320
Регистрация: 10.12.2010
Сообщений: 5,121
Записей в блоге: 3
19.03.2011, 10:30     Значение, хранящееся по адресу #3
Цитата Сообщение от Poet Посмотреть сообщение
что это получилось такое?
Вы вывели на экран число.
Цитата Сообщение от Poet Посмотреть сообщение
это выводится значение адреса, который занимает сама программа или вся система вобще?
Нет, это просто число.
Kastaneda
Модератор
Эксперт С++
 Аватар для Kastaneda
4237 / 2770 / 218
Регистрация: 12.12.2009
Сообщений: 7,104
Записей в блоге: 1
Завершенные тесты: 1
19.03.2011, 10:31     Значение, хранящееся по адресу #4
Цитата Сообщение от Poet Посмотреть сообщение
результат выдал. Но конечно же всегда одинаковый при каждом запуске.
Хотелось бы уточнить что это получилось такое?
И второе: это выводится значение адреса, который занимает сама программа или вся система вобще?
Дай угадаю, выводится 269488144 ? )))
Это выводится число 0x10101010 в десятичном виде и не более того.

Цитата Сообщение от Poet Посмотреть сообщение
А как узнать значение по адресу вообще? То есть если известен только адрес, и требуется узнать что там на нем. При том не используя переменные и указатели.
Вобще, возможно ли такое?
Возможно, вот так:
C++
1
std::cout<<*(reinterpret_cast<unsigned char*>(0x01010101));
Но это совершенно бессмысленное занятие, и, скорей всего, будет ошибка доступа при чтении.

А зачем тебе понадобилось лазить по адресам в языке C? В ассемблере и то метки используются, чтоб самому адреса не просчитывать.

Добавлено через 1 минуту
опоздал...
Poet
2 / 2 / 0
Регистрация: 10.09.2009
Сообщений: 91
19.03.2011, 11:51  [ТС]     Значение, хранящееся по адресу #5
Цитата Сообщение от Kastaneda Посмотреть сообщение
А зачем тебе понадобилось лазить по адресам в языке C?
Пытливый ум и все такое))

добавлено:
самофэйспалм удался))

Добавлено через 10 минут
Цитата Сообщение от bigredcat Посмотреть сообщение
cout << hex << 0x00400000 << ":" << *(int*)0x00400000;
Спасибо) теперь буду знать как проверять работоспособность антивируса)
bigredcat
364 / 311 / 3
Регистрация: 24.02.2011
Сообщений: 1,512
Записей в блоге: 1
19.03.2011, 12:05     Значение, хранящееся по адресу #6
Цитата Сообщение от Poet Посмотреть сообщение
Спасибо) теперь буду знать как проверять работоспособность антивируса)
Да здесь ничего особо криминального нет, просто чтение содержимого по базовому (обычно) адресу загрузки ехе файла
Poet
2 / 2 / 0
Регистрация: 10.09.2009
Сообщений: 91
19.03.2011, 12:09  [ТС]     Значение, хранящееся по адресу #7
память не могет быть read
только вчера гуглил как ее отключать)
Kastaneda
Модератор
Эксперт С++
 Аватар для Kastaneda
4237 / 2770 / 218
Регистрация: 12.12.2009
Сообщений: 7,104
Записей в блоге: 1
Завершенные тесты: 1
19.03.2011, 12:12     Значение, хранящееся по адресу #8
Цитата Сообщение от Poet Посмотреть сообщение
Спасибо) теперь буду знать как проверять работоспособность антивируса)
Ты представляешь себе, что такое страничная организация памяти?
Poet
2 / 2 / 0
Регистрация: 10.09.2009
Сообщений: 91
19.03.2011, 12:15  [ТС]     Значение, хранящееся по адресу #9
спросил у лысого расческу...
Kastaneda
Модератор
Эксперт С++
 Аватар для Kastaneda
4237 / 2770 / 218
Регистрация: 12.12.2009
Сообщений: 7,104
Записей в блоге: 1
Завершенные тесты: 1
19.03.2011, 12:18     Значение, хранящееся по адресу #10
Просто так, как показали выше, можно получить значение по адресу внутри своего процесса (если такой адрес существует), и не более того, т.е. опять же повторюсь - абсолютно бесполезная информация.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.03.2011, 12:25     Значение, хранящееся по адресу
Еще ссылки по теме:

C++ На сколько изменится число, хранящееся в переменной
Почему при выводе указателя получаем для char - значение по адресу, а для других типов - адрес C++
Необработанное исключение по адресу, нарушение прав доступа при записи по адресу C++

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

Или воспользуйтесь поиском по форуму:
Poet
2 / 2 / 0
Регистрация: 10.09.2009
Сообщений: 91
19.03.2011, 12:25  [ТС]     Значение, хранящееся по адресу #11
нуууу... если ее можно узнать значит, она наверно зачем-то нужна)
Yandex
Объявления
19.03.2011, 12:25     Значение, хранящееся по адресу
Ответ Создать тему
Опции темы

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