![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Trust no one.
Старожил
Регистрация: 07.04.2009
Сообщений: 6,526
|
![]()
Предположим, что у нас есть строка String, длиной 16 символов.
Адрес указателя на строку - 0х045323 Я беру и прошу компьютер выделить мне кусок памяти GetMem. Откуда компьютер знает, что нельзя брать адреса 0х045323 - 0х045333?
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ |
![]() |
![]() |
![]() |
#3 |
Trust no one.
Старожил
Регистрация: 07.04.2009
Сообщений: 6,526
|
![]()
Т.е что-то типа
Код:
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ Последний раз редактировалось Alex Cones; 11.09.2010 в 12:00. |
![]() |
![]() |
![]() |
#4 |
Участник клубаДжуниор
Регистрация: 23.08.2008
Сообщений: 1,616
|
![]()
Да, видимо так. Помнится, проводил опыт и выяснил, что после удаления объекта память не отчищается, а лишь помечается как свободная.
pushl $0x18E3DF6B
call ICQ |
![]() |
![]() |
![]() |
#5 |
Trust no one.
Старожил
Регистрация: 07.04.2009
Сообщений: 6,526
|
![]()
Ясно, спасибо. Бредовая система.
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ |
![]() |
![]() |
![]() |
#6 |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,833
|
![]()
У вас есть лучшая?
|
![]() |
![]() |
![]() |
#7 |
Trust no one.
Старожил
Регистрация: 07.04.2009
Сообщений: 6,526
|
![]()
Если бы я был в группе разработки Windows - придумал бы что-нибудь лучше, чем хавать память для того, чтобы работать с памятью. А сейчас приходится довольствоваться этим.
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ |
![]() |
![]() |
![]() |
#8 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]()
а при чём здесь Windows ?! Извините, но это дело ИСКЛЮЧИТЕЛЬНО компилятора!! Это он выделяет память, определяет какая из них свободная и т.д. и т.п.
Та же функция GetMem - обращение к borland'скому менеджеру памяти... |
![]() |
![]() |
![]() |
#9 |
Форумчанин
Регистрация: 08.01.2010
Сообщений: 165
|
![]()
Подробное описание borland`овского менеджера памяти: http://www.rsdn.ru/article/Delphi/memmanager.xml
Но вообще, любому менеджеру памяти (будь то хоть системный, хоть компиляторный, хоть свой собственный,самописный) необходимо хранить информацию о выделенных блоках и/или же о блоках свободных. Разумеется, эта информация не может храниться "в воздухе", она тоже занимает некоторую память) Конечно, если у тебя есть мысли по поводу того, как обойтись без этого, было бы интересно услышать))) |
![]() |
![]() |
![]() |
#10 |
Trust no one.
Старожил
Регистрация: 07.04.2009
Сообщений: 6,526
|
![]()
Хранить все данные подряд, отдельно храня только Integer указатель на первый свободный байт. При освобождении "внутреннего" участка памяти перемещать данные как при дефрагментации. Чтобы не сильно тормозить весь процесс использования ЭВМ - либо делать это в случае необходимости, "временно" оставляя "пробелы" - освобожденные куски памяти, еще не занятые ничем, либо разделить память на "блоки" - например $000000 - $400000, $400001 - $800000, $800001 - $B00000, $B00001 - $FFFFFF и хранить указатель отдельно для каждого блока.
Если мне дадут больше времени - я придумаю, как улучшить данный метод. Но это никому не нужно, потому, что система уже существует, пусть и не в самом оптимальном виде. Не мне её менять.
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ |
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Указатели. Динамическая память. | Kazik | Помощь студентам | 2 | 18.01.2014 00:17 |
Указатели.Динамическая память | Solnze2 | Паскаль, Turbo Pascal, PascalABC.NET | 6 | 12.06.2010 10:08 |
[C] массивы, указатели, двойные указатели. | Iggel | Общие вопросы C/C++ | 5 | 05.05.2009 12:39 |
C,символы, указатели, динам.память | ertar | Общие вопросы C/C++ | 6 | 24.12.2008 21:05 |