Модераторы: Daevaorn

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как достать доступ к виртуальной памяти, отведенной для нужд Винды 
:(
    Опции темы
Sartorius
Дата 7.2.2007, 10:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1568
Регистрация: 18.7.2006
Где: Ivory tower

Репутация: 8
Всего: 37



SergeCpp, а на соклько это все вообще может быть актуально? Ясно, что ХР на NT ядре, но с 1998 года многое могло измениться. Тем более "недокументированные возможности"

PM MAIL ICQ   Вверх
GIK
Дата 7.2.2007, 10:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Добрый человек
**


Профиль
Группа: Участник
Сообщений: 985
Регистрация: 3.6.2005
Где: я только не небыв ал

Репутация: 1
Всего: 14



Все понятно, мне читать и читать. smile
Как насчет второго момента? Почему инкремент адреса дает тоже число что и значенрие хранимое по адресу , до инкремента?


--------------------
Математика=>пиво=> програмирование, три вещи последовательны и совместимы !!!
Программирование - это не деятельнось! Программирование - это состояние души!
Бог - самый крутой программист.
PM MAIL ICQ   Вверх
Sartorius
Дата 7.2.2007, 10:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1568
Регистрация: 18.7.2006
Где: Ivory tower

Репутация: 8
Всего: 37



Цитата

Почему инкремент адреса дает тоже число что и значенрие хранимое по адресу , до инкремента? 


 Рискну предположить, что там лежит это же число...  smile 
PM MAIL ICQ   Вверх
vinter
Дата 7.2.2007, 11:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Explorer
****


Профиль
Группа: Завсегдатай
Сообщений: 2735
Регистрация: 1.4.2006
Где: Н.Новгород

Репутация: 13
Всего: 56



Цитата
Интерес чисто познавательный, а каким образом он будет ругаться?


студия вылетает с ошибкой


--------------------
Мой блог
PM MAIL WWW   Вверх
Anikmar
Дата 7.2.2007, 13:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2513
Регистрация: 26.11.2006
Где: Санкт-Петербург

Репутация: 9
Всего: 59



Цитата(vinter @  7.2.2007,  11:51 Найти цитируемый пост)
студия вылетает с ошибкой 

Т.е. Студия при компиляции ругнется на такой код?
Код

int MyFun(void)
{
  int *p;

  *p = 25;

 return *p;
}


Вообще-то максимум предупреждение должно быть - на то оно и Си (в смысле сотворить можно что угодно)
PM MAIL ICQ   Вверх
GIK
Дата 7.2.2007, 15:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Добрый человек
**


Профиль
Группа: Участник
Сообщений: 985
Регистрация: 3.6.2005
Где: я только не небыв ал

Репутация: 1
Всего: 14



Цитата

Рискну предположить, что там лежит это же число...   

Ага  smile прям в точку, иначе и быть не может smile  Тоько вот вопрос, как оно туба попало так удачно  smile  


--------------------
Математика=>пиво=> програмирование, три вещи последовательны и совместимы !!!
Программирование - это не деятельнось! Программирование - это состояние души!
Бог - самый крутой программист.
PM MAIL ICQ   Вверх
vinter
Дата 7.2.2007, 18:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Explorer
****


Профиль
Группа: Завсегдатай
Сообщений: 2735
Регистрация: 1.4.2006
Где: Н.Новгород

Репутация: 13
Всего: 56



Цитата
Т.е. Студия при компиляции ругнется на такой код?


да, вылетит с ошибкой
Цитата

Вообще-то максимум предупреждение должно быть - на то оно и Си (в смысле сотворить можно что угодно)

на то он и компилятор, чтобы не давать творить ерунду всякую smile , от которой потом роковые ошибки вылазят..


--------------------
Мой блог
PM MAIL WWW   Вверх
Anikmar
Дата 7.2.2007, 18:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2513
Регистрация: 26.11.2006
Где: Санкт-Петербург

Репутация: 9
Всего: 59



Цитата(vinter @  7.2.2007,  18:36 Найти цитируемый пост)
на то он и компилятор, чтобы не давать творить ерунду всякую  , от которой потом роковые ошибки вылазят.. 

Это не всегда ошибка. Не должен вылететь компилятор - проверьте. Поясню на примере:
Код

int MyFun(void)
{
  int *p;
  int **pp = &p;
  int a;
  *pp = &a;

  *p = 25;

 return *p;
}



Сдесь никакой ошибки нет - вот захотелось так программеру...
PM MAIL ICQ   Вверх
vinter
Дата 7.2.2007, 19:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Explorer
****


Профиль
Группа: Завсегдатай
Сообщений: 2735
Регистрация: 1.4.2006
Где: Н.Новгород

Репутация: 13
Всего: 56



Цитата

Сдесь никакой ошибки нет - вот захотелось так программеру...

а тут и не вылетает.. а вот там была ошибка..
кстати так и не понял почему у p и *pp, стали одинаковые адреса ведь мы же поменяли значение указателя *pp, и он стал указывать на другую область памяти, почему *p поменялся?? 


--------------------
Мой блог
PM MAIL WWW   Вверх
GIK
Дата 7.2.2007, 19:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Добрый человек
**


Профиль
Группа: Участник
Сообщений: 985
Регистрация: 3.6.2005
Где: я только не небыв ал

Репутация: 1
Всего: 14



А вот меня болше интересует почему одинаковые данные вылазят, тут явно что то нето....


--------------------
Математика=>пиво=> програмирование, три вещи последовательны и совместимы !!!
Программирование - это не деятельнось! Программирование - это состояние души!
Бог - самый крутой программист.
PM MAIL ICQ   Вверх
Anikmar
Дата 7.2.2007, 20:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2513
Регистрация: 26.11.2006
Где: Санкт-Петербург

Репутация: 9
Всего: 59



Цитата(GIK @  6.2.2007,  22:58 Найти цитируемый пост)
Очень интересно наблюдать, когда выкидывает одинаковые числа 

Цитата(GIK @  7.2.2007,  19:16 Найти цитируемый пост)
А вот меня болше интересует почему одинаковые данные вылазят, тут явно что то нето.... 

Мы немного отвлеклись от основного вопроса топика (совсем немного, на самом деле). 
При переносе указанного кода в мой Билдер были выданы разные числа....
Поэтому списываю на совпадение, хотя формат вывода целого числа и указателя явно должны отличаться.
В Билдере выводятся разные числа, НО: они выводятся совершенно по-разному - формат у указателя и int разный...

Добавлено @ 20:22 
Цитата(vinter @  7.2.2007,  19:02 Найти цитируемый пост)
кстати так и не понял почему у p и *pp, стали одинаковые адреса ведь мы же поменяли значение указателя *pp, и он стал указывать на другую область памяти, почему *p поменялся??  

Вы просто невнимательно посмотрели. Я там поменял только значение указателю по адресу указателя. До сих пор не врубаюсь почему ругается компилятор? Ведь я привел достаточно простой пример неявного использования указателя, можно придумать более изощренный...

Ну не должен компилятор на это ругаться! Он может предупредить, но ругаться нельзя - это не ошибка, это может так задумано было (конечно больным на голову программистом) - но могло.
PM MAIL ICQ   Вверх
threef
Дата 7.2.2007, 21:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 375
Регистрация: 27.10.2005
Где: Запорожье

Репутация: 9
Всего: 10



Че-йто совсем я не понимаю.
Код

void *p;
int x=5;
p=&x;
cout<<*p; 


это что, попытка взглянуть на void ?
PM MAIL   Вверх
Anikmar
Дата 7.2.2007, 21:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2513
Регистрация: 26.11.2006
Где: Санкт-Петербург

Репутация: 9
Всего: 59



Цитата(threef @  7.2.2007,  21:13 Найти цитируемый пост)
Че-йто совсем я не понимаю.

код C++
void *p;
int x=5;
p=&x;
cout<<*p; 

это что, попытка взглянуть на void ? 


Вот на это точно должен ругаться компилятор. Указатель на void НЕ РАЗЫМЕНОВЫВАЕТСЯ!
PM MAIL ICQ   Вверх
threef
Дата 7.2.2007, 21:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 375
Регистрация: 27.10.2005
Где: Запорожье

Репутация: 9
Всего: 10



Да что ты! А в первом посте что, g - это не указатель на void ? не его ли пытаются разыменовать ? а 0 - ffff - это указатели, зарезервированные системой виртуальной памяти как NULL - указатели, и ничего оттуда не выудить. Разве что в обход этой самой системы. И Це здесь ни причем.
PM MAIL   Вверх
Anikmar
Дата 7.2.2007, 21:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2513
Регистрация: 26.11.2006
Где: Санкт-Петербург

Репутация: 9
Всего: 59



Цитата(threef @  7.2.2007,  21:43 Найти цитируемый пост)
Да что ты! А в первом посте что, g - это не указатель на void ? не его ли пытаются разыменовать ? а 0 - ffff - это указатели, зарезервированные системой виртуальной памяти как NULL - указатели, и ничего оттуда не выудить. Разве что в обход этой самой системы. И Це здесь ни причем. 

Упс... А слона я и не заметил!
Я начал читать не с первой строчки первого поста и что-то увлекся теорией!  smile (ну невнимательный я!)

Ну, мои посты особо этому не противоречат  smile 

Виноват-с-с-с... Обмишурился.... smile 

Это сообщение отредактировал(а) Anikmar - 8.2.2007, 19:45
PM MAIL ICQ   Вверх
Страницы: (3) Все 1 [2] 3 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0531 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.