Работа с памятью

  • Автор темы wind0vs
  • Дата начала
Статус
Закрыто для дальнейших ответов.
W

wind0vs

#1
Меня интересует как считать данные и/или записать в заранее определенную ячейку памяти.
Есть какой-то адрес (FFFFFFFF - не важно). Как мне считать данные по этому адресу и как занести данные именно туда?
Тут, как я понимаю, нужен указатель с этим адресом. Как сделать так, чтобы указатель хранил нужный адрес?
Меня интересует работа с interior_ptr.
Код -
C++:
int *p,abc=1;
p = &abc;
(Этот код не является показателем того что необходимо сделать)
- не работает из-за иного представления указателей.
Как работать с interior_ptr?
Может есть готовые функции по записи и считыванию определенного адреса?
 

grigsoft

Well-known member
15.11.2005
735
0
#2
Ну примерно так:
Код:
int* p = (int*)12345;
int nVal = *p;
Но:
1. это все только внутри твоего процесса, а в виндовс каждый процесс имеет собственную адресацию
2. часть адресов для приложения недоступны
3. Обращение к невыделенной памяти закончится исключением

В остальном можно пробовать, но на самом деле тебе скорее всего это не нужно - ты задачу решаешь не с той строны. Ну и как всегда, Рихтер рекомендуется к прочтению чтобы понимать о чем речь при разговоре о памяти в Windows.
 
Статус
Закрыто для дальнейших ответов.