Вниз
Скачать: CL | DM;

размер Record   Найти похожие ветки 

← →
self.name ©   (2008-08-18 22:52) [0]

Вечер добрый=)
Помогите разобраться.
Как получаются размеры записей?
1.

 tINT=record
   i:integer;
 end;
...
 SizeOf(tINT)=4

2.

 tSTR=record
   s:string[100];
 end;
...
 SizeOf(tSTR)=101

3.

 tSTRINT=record
   s:string[100];
   i:integer;
 end;
...
 SizeOf(tINT)=108

Первые два понятно. А почему 108?


← →
Юрий Зотов ©   (2008-08-18 22:55) [1]

Потому что не packed. Второе поле выравнивается на границу 104 и общий размер получается 108. А с packed было бы 105.


← →
Юрий Зотов ©   (2008-08-18 22:57) [2]

> на границу 104

105, конечно.


← →
Юрий Зотов ©   (2008-08-18 22:58) [3]

Или все же 104?
:о))))))))


← →
self.name ©   (2008-08-18 23:09) [4]

а где-то можно про это почитать?
смотрел справку дельфи...но что-то ничего не нашёл..может плохо искал?


← →
Юрий Зотов ©   (2008-08-18 23:19) [5]

Плохо искал. Ключевое слово - packed.


← →
Anatoly Podgoretsky ©   (2008-08-18 23:19) [6]

> Юрий Зотов  (18.08.2008 22:58:03)  [3]

Так как?


← →
Юрий Зотов ©   (2008-08-18 23:27) [7]

> Anatoly Podgoretsky ©   (18.08.08 23:19) [6]

Смотря с чего начинать счет...
:о)))


← →
self.name ©   (2008-08-18 23:44) [8]

да, точно. спасибо.


← →
Anatoly Podgoretsky ©   (2008-08-18 23:54) [9]

> Юрий Зотов  (18.08.2008 23:27:07)  [7]

А абстрагироваться?


← →
Юрий Зотов ©   (2008-08-18 23:58) [10]

> Anatoly Podgoretsky ©   (18.08.08 23:54) [9]

Тогда 104.5


← →
Anatoly Podgoretsky ©   (2008-08-19 00:02) [11]

Другое дело.


← →
Германн ©   (2008-08-19 01:41) [12]


> Юрий Зотов ©   (18.08.08 23:58) [10]
>
> > Anatoly Podgoretsky ©   (18.08.08 23:54) [9]
>
> Тогда 104.5
> <Цитата>
>
> Anatoly Podgoretsky ©   (19.08.08 00:02) [11]
>
> Другое дело.
>

Имхо, некузяво!



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.015 c
15-1219471047
Simpson
2008-08-23 09:57
2008.10.12
Указатель класса на самого себя


3-1207424717
Vladimir_First
2008-04-05 23:45
2008.10.12
Множественная вставка


15-1219391037
brother
2008-08-22 11:43
2008.10.12
ручное обновление AviraAntivir


3-1207905476
Новичек
2008-04-11 13:17
2008.10.12
Поля BOLLEAN в FireBird


3-1204791768
Tzw
2008-03-06 11:22
2008.10.12
Выборка через процедуру, Firebird 2.0




   Наверх