Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2007.05.06;
Скачать: [xml.tar.bz2];

Вниз

Различие между двумя типами записей   Найти похожие ветки 

 
kyn66 ©   (2007-04-14 10:09) [0]

Уважаемые мастера, подскажите в чем отличие этих двух записей?

 TPerArray = packed record
    MesE : Integer;
    GodE : Integer;
    Priz   : Boolean;
 end;

и

 TPerArray = record
    MesE : Integer;
    GodE : Integer;
    Priz   : Boolean;
 end;


 
TUser ©   (2007-04-14 10:14) [1]

У второй записи в конце - три пустых (забитых ерундой) байта.


 
kyn66 ©   (2007-04-14 10:23) [2]

И только? Мне кажется здесь чегость поширше различие...


 
_Аноним   (2007-04-14 10:57) [3]

Неупакованная запись выравнивается в памяти.
То есть она не является непрерывной областью памяти, между полями возможен "мусор", каждое новое поле начинается не сразу после окончания предыдущего, а со смещения ,кратного например четырем.
Выравнивание делается для ускорения работы.
Сравни SizeOf(TPerArray) в двух случаях - они разные.
В случае, если запись неупакованная, ее нелья сравнивать с другой такой же с помощью CompareMem, и при стриминге можно налететь на грабли.


 
kyn66 ©   (2007-04-14 11:14) [4]

Короче лучше использовать упакоанную,я так понял, дабы избежать попадания мусора в мои поля?


 
DrPass ©   (2007-04-14 11:18) [5]


> Короче лучше использовать упакоанную,я так понял, дабы избежать
> попадания мусора в мои поля?

Смотря что ты собрался с ней делать. Если тебе нужно работать с записью как с единым целым (сохранять в файл, в БД, сравнивать через CompareMem и т.д.), то лучше упакованную. Если ты работаешь только с ее полями, то лучше неупакованную, быстродействие в этом случае будет выше.


 
kyn66 ©   (2007-04-14 12:20) [6]

Мне нужно просто держать некоторые параметры для дальнейшей работы. Их штук 5 будет(полей всмысле в записи). Я думаю здесь не принципиально говорить о скорости...


 
Германн ©   (2007-04-14 12:51) [7]


> Мне нужно просто держать некоторые параметры для дальнейшей
> работы. Их штук 5 будет(полей всмысле в записи). Я думаю
> здесь не принципиально говорить о скорости...
>

В этом случае вообще говорить не о чем. Разницы никакой.
Что воля, что неволя всё одно. (с)



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

Форум: "Начинающим";
Текущий архив: 2007.05.06;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.089 c
15-1175797825
alexsis
2007-04-05 22:30
2007.05.06
Безобразие!


15-1175898373
Gero
2007-04-07 02:26
2007.05.06
Шедевр


2-1176896692
deras
2007-04-18 15:44
2007.05.06
Как найти файлы?


2-1176549694
Fantasy
2007-04-14 15:21
2007.05.06
C: Documents and Settings в C: Docume~1 как перевести ?


15-1175790951
Pazitron_Brain
2007-04-05 20:35
2007.05.06
Извечный спор: микроядро или монолитное?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский