Официальный сайт студ.городка НГТУ
Программирование и БД » Вопрос по С++ 

#1  20.03.07 01:23

Вопрос по С++

как прочитать данные, адрес которых известен...Допустим, надо прочитать данные по адресу 0x0400h,0x0402h....то есть используя начало сегмента и некое смещение

и еще, почему выдаеться ошибка при обращении к этому участку памяти?

Исправлено Пионер (20.03.07 02:15)

Offline

#2  20.03.07 02:19

Re: Вопрос по С++

ну, для начала нужно знать, что это за данные

Offline

#3  20.03.07 02:20

Re: Вопрос по С++

Binni, там храняться адреса базовых адресов COM портов.

Offline

#4  20.03.07 10:54

Re: Вопрос по С++

а ты уверен что доступ к этому сегменту разрешен?

Offline

#5  20.03.07 11:57

Я
Профиль

Re: Вопрос по С++

otaku, в вин98 да

Offline

#6  21.03.07 01:38

Re: Вопрос по С++

void *qwe=(void*)0x0400;

вот указатель на данные по адресу 0x0400
т.к. я не знаю какие там данные, то тип void

Offline

#7  21.03.07 02:33

Re: Вопрос по С++

utug написал(а):

void *qwe=(void*)0x0400;

NT не даст так просто залезть в чужое адресное пространство

Offline

#8  21.03.07 21:57

Re: Вопрос по С++

ахх, так вы в чужую память ломитесь! :))
ReadProcessMemory и WriteProcessMemory в помощь!

Offline

#9  22.03.07 13:46

Re: Вопрос по С++

otaku,  уже решено, из под винды ХР - доступ запрещен.. надо под ДОС писать, тогда данные можно получить.

Offline

#10  22.03.07 14:36

Re: Вопрос по С++

Пионер написал(а):

там храняться адреса базовых адресов COM портов

))))
Базовые адреса COM-портов в биосе хранятся. 0x0400h и т.д. это адреса в области данных BIOS. В NT в ring0 можно прочитать.

Скажи, что за приложение.

Offline

#11  22.03.07 17:42

Re: Вопрос по С++

zombie, спасибо за столь подробную информацию. )). Приложение надо писать самому...без специальных функций..чисто обращением к памяти.. Если пишеться например на ВС 3.1..то он работает как надо. Я писал на Visual Studio 2005, так он выдает ошибку при обращении по этому адресу. Что, собсна говоря, вполне логично.

Offline

Программирование и БД » Вопрос по С++ 

ФутЕр:)

© Hostel Web Group, 2002-2025.   Сообщить об ошибке

Сгенерировано за 0.024 сек.
Выполнено 11 запросов.