Форум: "Начинающим";
Текущий архив: 2006.07.30;
Скачать: [xml.tar.bz2];
ВнизРазмер переменной в памяти Найти похожие ветки
← →
Учениг (2006-07-05 21:45) [0]type TMyVar = packed record
MyBooleanVariable,
MyBooleanVariable2 : Boolean;
end;
var M : TMyVar;
M.MyBooleanVariable := true;
M.MyBooleanVariable2 := true;
Скажите пожалуйста какой общий объем памяти займет запись M ? Ведь имена полей тоже куда-то запишутся?
← →
Мефисто (2006-07-05 21:47) [1]SizeOf(твоя запись)
← →
Учениг (2006-07-05 21:49) [2]А какой объем займет обычная переменная MyBooleanVariable : Boolean ?
← →
Gero © (2006-07-05 21:50) [3]> А какой объем займет обычная переменная MyBooleanVariable
> : Boolean ?
1 байт. Твоя запись, соответственно, 2.
← →
Джо © (2006-07-05 21:55) [4]> Ведь имена полей тоже куда-то запишутся?
Нет.
← →
Учениг (2006-07-05 21:57) [5]
> Джо © (05.07.06 21:55) [4]
> > Ведь имена полей тоже куда-то запишутся?
> Нет.
Э... а че они так? а как тогда? Как система определит что этот байтик и есть MyBooleanVariable?
← →
Джо © (2006-07-05 22:00) [6]> [5] Учениг (05.07.06 21:57)
> Э... а че они так? а как тогда? Как система определит что
> этот байтик и есть MyBooleanVariable?
По смещению относительно начала записи и определит.
← →
Джо © (2006-07-05 22:01) [7]В общем, не переживай :о)
← →
palva © (2006-07-05 22:03) [8]На этапе компиляции MyBooleanVariable заменится адресом того места в памяти, где лежит эта переменная, а имя переменной пропадет. Если программа запускается в режиме отладки, то вспомогательные таблицы могут воостановить это имя для того чтобы его можно было посмотреть при пошаговом прохождении, но в окончательном варианте имя будет утрачено.
← →
Учениг (2006-07-05 22:11) [9]
> На этапе компиляции MyBooleanVariable заменится адресом
> того места в памяти, где лежит эта переменная
Ага!
А адрес ведь тоже надо как-то хранить? И получаецца что в общем MyBooleanVariable > 1 byte ?
← →
Мефисто (2006-07-05 22:13) [10]1 байт :)
← →
Джо © (2006-07-05 22:15) [11]> А адрес ведь тоже надо как-то хранить?
Что значит "хранить"? В коде программы все твои MyBooleanVariable заменяются на адрес. Вот и все.
← →
Ketmar © (2006-07-05 22:16) [12]очередная разводка? утомили.
← →
Джо © (2006-07-05 22:18) [13]> [12] Ketmar © (05.07.06 22:16)
> очередная разводка?
ИМХО, это не развод, а просто "дитя постигает мир", ну, и, соответственно, делится откровениями и открытиями :0)
← →
Учениг (2006-07-05 22:20) [14]
> В коде программы все твои MyBooleanVariable заменяются
> на адрес.
Все понял. Просто сам не догадался.
Спасибо бальшое за подробное объяснение.
Я люблю этот форум. Люди здесь хорошие. Приветливые.
← →
Leonid Troyanovsky © (2006-07-05 22:27) [15]
> Учениг (05.07.06 22:20) [14]
> Я люблю этот форум. Люди здесь хорошие. Приветливые.
Редкостной доброты люди.
Ведь, могли б и расстрелять.
--
Regards, LVT.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2006.07.30;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.017 c