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

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

packed [D6]


Страницы:   1 2

SergP ©   (2006-02-04 23:56:00) 

Есть небольшой вопрос:
Если я использую какую-нить структуру, размер элементов которого кратен 4 байтам, будет ли разница в том применяю ли я в описании этого типа packed или не применяю?
И всегда ли?


Defunct   (2006-02-05 08:07:00) [21]

packed не распространяется на array.
packed распространяется только на record.

> Я так понял, что по умолчанию 8 а не 4, как я думал раньше. (Кстати какой смысл ставить 8 на 32-разрядных процессорах?)

не забываейте об MMX и SSE/SSE2. некоторые команды работают эффективнее с выравниванием на границу 8. А некоторые команды вообще не работают без такого выравнивания. Например.

movq - эффективнее с выравниванием на границу 8
movdqa - вообще не работает если нет выравнивания на границу 8.

если действительно интересно можете почитать Intel Architecture Software Development Manual (volume 2)


SergP   (2006-02-05 07:54:00) [22]


> Lamer@fools.ua ©   (05.02.06 00:06) [1]
> Бывает ещё {$A8}.


Я так понял, что по умолчанию 8 а не 4, как я думал раньше. (Кстати какой смысл ставить 8 на 32-разрядных процессорах?)
Хорошо...Тогда такой вопрос:
Эквивалентно ли такое описание:

{$A-}
A: array of record
...
{$A+}


такому:


A: packed array of packed record
...


?


PAVIA   (2006-02-05 02:51:00) [23]

Будет притом всегда.


Lamer@fools.ua   (2006-02-05 00:06:00) [24]

Бывает ещё {$A8}.
В общем, "$Align" + F1.


Страницы:   1 2

Наверх

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