Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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.033 c
3-1148477220
p_evghenii
2006-05-24 17:27
2006.07.30
Группировка запроса по датам


1-1150808895
georgius
2006-06-20 17:08
2006.07.30
Отчего Exception?


3-1148374698
saxon
2006-05-23 12:58
2006.07.30
DBX files


2-1152221686
Quattro
2006-07-07 01:34
2006.07.30
Координаты буквы


2-1152698967
DelphiN!
2006-07-12 14:09
2006.07.30
Главная форма = Nil при обращении к ней из датамодуля





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский