|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
19.12.2010, 14:32 | #1 |
Регистрация: 19.12.2010
Сообщений: 3
|
Узнать адрес кучи (визуализация работы с памятью).
Пишу курсовую - визуализация операций по работе с памятью (выделение памяти в кучи, освобождение, и т.д.). Первая мысль, которая пришла в голову - рисовать как в старых дефрагментаторах, в виде цветных квадратиков (разные куски памяти - разными цветами), а положение квадратика вычислять относительно начала кучи в памяти по адресу нового куска.
И тут засада... а собственно, можно ли узнать начальный и максимальный адреса кучи, а если реально - то как? Она ведь может лежать не в сплошным куском в памяти? |
19.12.2010, 15:22 | #2 | |
Android Developer
Старожил Подтвердите свой е-майл
Регистрация: 19.02.2007
Сообщений: 3,708
|
Цитата:
|
|
19.12.2010, 15:40 | #3 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Я так понимаю автору хочется использовать GetProcessHeap для получения кучи
ну и размер: Цитата:
I'm learning to live...
|
|
19.12.2010, 16:35 | #4 |
Регистрация: 19.12.2010
Сообщений: 3
|
Размер получить не проблема, речь шла вот о чем... Скажем, выделяю я отдельную кучу, максимальный и начальный размер 8 мб. Содержимое кучи идёт в памяти подряд, от начало и до конеца, или куча может быть фрагментирована в памяти? (кусочек кучи здесь, кусочек там...)
Просто раздумываю, как визуально нарисовать относительное положение выделения новых кусков кучи. |
19.12.2010, 18:24 | #5 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
I'm learning to live...
|
|
20.12.2010, 10:58 | #6 | ||
добрый няша
Старожил
Регистрация: 29.10.2006
Сообщений: 4,804
|
Цитата:
Цитата:
Сам лично дизассемблировал код операторов new языка C++, всё происходит вручную. Всегда есть заранее подготовленный буфер памяти из которого выделяет память оператор new. Аналогично с malloc. Аналогично операторы new(), GetMem, GetMemory в Delphi Программа сама вручную выделяет кусок памяти через функцию VirtualAlloc (где-то при запуске программы) и сама распределяет его между объектами программы или другими данными. Последний раз редактировалось rpy3uH; 20.12.2010 в 11:00. |
||
02.01.2011, 09:16 | #7 | |
Регистрация: 19.12.2010
Сообщений: 3
|
Цитата:
Всем большое спасибо, всю необходимую информацию я получил, тему можно закрывать ! |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Ошибка работы с памятью | Alex Cones | Общие вопросы Delphi | 4 | 04.12.2010 06:45 |
Визуализация работы макроса | Gawwws | Microsoft Office Excel | 24 | 01.09.2010 18:16 |
Визуализация работы последовательного порта | Vohakisa | Помощь студентам | 1 | 01.05.2010 19:30 |
Визуализация работы макроса | zander | Microsoft Office Excel | 7 | 15.02.2009 01:09 |
как узнать ip адрес зная mac адрес | Roman | Работа с сетью в Delphi | 9 | 25.06.2007 12:39 |