Показать сообщение отдельно
  #9  
Старый 15.06.2006, 09:55
Аватар для Aristarh Dark
Aristarh Dark Aristarh Dark вне форума
Модератор
 
Регистрация: 07.10.2005
Адрес: Москва
Сообщения: 2,907
Версия Delphi: Delphi XE
Репутация: выкл
По умолчанию

Цитата:
Сообщение от Ferra
Это конечно круто, но в чём я не прав?

В моем понимании "упакован" - значит занимает меньший размер чем на самом деле (например: "файл упакован арховатором"), а в данном случае при использовании слова packed запись (или любая другая структура) будет занимать столько места в памяти сколько занимают суммарно составляющие ее элементы.
Пример:
Код:
test = packed record
  a:Char;
  b:Integer;
end
эта структура занимает 5 байт (1 байт - Char + 4 байта - Integer) памяти, а такая
Код:
test = record
  a:Char;
  b:Integer;
end
8 байт (1 байт - Char + 4 байта - Integer + 3 байта на выравнивание по двойному слову). Нигде ничего не пакуется, просто по различному используется память.
Ответить с цитированием