|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
10.11.2009, 19:09 | #1 |
Trust no one.
Старожил
Регистрация: 07.04.2009
Сообщений: 6,526
|
Record / Packed Record
Сабж в том, чем они отличаются и имеет ли смысл всегда ставить Packed?
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ |
10.11.2009, 19:25 | #2 |
Участник клуба
Регистрация: 06.03.2009
Сообщений: 1,346
|
Ключевое слово Packed говорит Delphi минимизировать память, взятую определенным объектом.
Обычно, сложные типы данных, такие как записи, имеют свои элементы по 2, 4 или 8 байта, соответствующие типам данных. Например, поле Word было бы 4-байтовое. Записи также дополняются, для гарантии, что они закончены, 4-х байтовой границей. Упаковка отменяет это, сжимая данные в наименьшую память, хотя с последующим уменьшенным доступом выполнения. |
10.11.2009, 19:26 | #3 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
упакованная структура не выравнивается...
то есть Код:
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
10.11.2009, 19:39 | #4 | ||
Trust no one.
Старожил
Регистрация: 07.04.2009
Сообщений: 6,526
|
Цитата:
Цитата:
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ |
||
10.11.2009, 21:39 | #5 |
Software Developer
Старожил
Регистрация: 19.12.2008
Сообщений: 2,070
|
Народ, чето я вот читаю тему и не могу понять следующее:
вот тут Код:
А почему тогда вот тут размер структуры НЕ 6 байт? Код:
Объясните кто то доступно...как можно понятнее...пожалуйста.
Будь проще и люди к тебе потянутся
|
10.11.2009, 21:44 | #6 | |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
Цитата:
то есть два байта зря... вот насчет времени доступа к упакованным данным я точно не знаю... но оно поидее больше...так как процессору не удобно юзать такие данные(предпологгаю я) Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. Последний раз редактировалось Пепел Феникса; 10.11.2009 в 21:47. |
|
11.11.2009, 01:24 | #7 |
я получил эту роль
Старожил
Регистрация: 25.05.2007
Сообщений: 3,694
|
Да, так уж устроен процессор, к невыровненным данным время доступа больше.
пыщь
|
11.11.2009, 10:43 | #8 |
Oldschool geek
Форумчанин
Регистрация: 09.03.2009
Сообщений: 611
|
Обращение к 32битному невыровненному целому может занимать до двух раз больше времени. Для выровненных 32битных целых гарантируется атомарность чтения и записи, то есть, мы не получим пол–старого значения, пол–нового. К невыровненным это не относится.
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
my Record | subsonic | Общие вопросы Delphi | 5 | 09.02.2009 15:20 |
Задачв на RECORD | n1ce > Kuzia | Паскаль, Turbo Pascal, PascalABC.NET | 6 | 28.01.2009 19:44 |
record/file | potion | Паскаль, Turbo Pascal, PascalABC.NET | 3 | 10.05.2008 20:15 |
Работа с типом Record | TheNovice | Помощь студентам | 4 | 28.02.2007 17:52 |