Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.07.30;
Скачать: CL | DM;

Вниз

Размер переменной в памяти   Найти похожие ветки 

 
Учениг   (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;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.035 c
15-1151413524
NORDmen
2006-06-27 17:05
2006.07.30
перевод слов/предложений с помошью программ-переводчиков


3-1148558746
atruhin
2006-05-25 16:05
2006.07.30
динамическое создание процедур в FB


15-1151394901
MsGuns
2006-06-27 11:55
2006.07.30
Слава сб.Украины по футболу !


2-1152615030
drashka
2006-07-11 14:50
2006.07.30
Проблема с синтаксисом SQL


2-1152194709
maniaks1
2006-07-06 18:05
2006.07.30
Два вопроса