Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

помогите разобраться! [D6, Win2k]


ev ©   (2001-12-22 19:38:00) 


type
Trec = record
time: string[9];
bg: int64;
sz: longint;
end;
var
xxx: Trec;

Почему sizeof(xxx)равно 32?


Anatoly Podgoretsky   (2001-12-26 17:03:00) [1]

Иван Шихалев © (22.12.01 23:33)
Наверно для оптимизации или с конфейерами или с пентиумом, а может у них запросы далее на 64 бита, по крайней мере я читал про выравнивание на границу параметра, сам не проверял, да и зачем не мое это дело, а компилятора.


ev   (2001-12-26 16:27:00) [2]

> Barbarian
действительно работает !!!! спасибо..... :)


Barbarian   (2001-12-23 16:44:00) [3]

Для того, чтобы запись имела размер, равный сумме длин переменных в нее входящих, необходимо использовать конструкцию вида:

Trec2 = packed record
time: string[9];
bg: int64;
sz: longint;
end;


Sail   (2001-12-23 04:18:00) [4]

Бог его знает, зачем... А ты поставь ради интереса
time: string[2] //а не 9
:-)


Иван Шихалев   (2001-12-22 23:33:00) [5]

Что D6 уже выравнивает по параграфу? А зачем?


Anatoly Podgoretsky   (2001-12-22 23:30:00) [6]

От версии зависит


Иван Шихалев   (2001-12-22 19:56:00) [7]

Вообще-то должно быть 24 при всем выравнивании.


Anatoly Podgoretsky   (2001-12-22 19:54:00) [8]

Выравнивание


Наверх

Титульная страница Поиск, карта сайта Написать письмо