1.2.60. $PACKRECORDS : Выравнивание элементов записи

Вверх  Предыдущий  Следующий

Эта директива управляет байтовым выравниванием элементов в записи, объекте или классе.

Она имеет следующий формат:

{$PACKRECORDS n}

где n – это одно из 1, 2, 4, 8, 16, C, NORMAL или DEFAULT. Это означает, что элементы записи, которые имеют размер больше, чем n, будут выровнены по границе в n байтов. Элементы, размер которых меньше или равен n, будут выровнены по натуральной границе, то есть по степени числа 2, которая равна или больше, чем размер элемента. Специальное значение C используется для указания выравнивания, как это принято в компиляторе GNU CC. Оно должно использоваться только в том случае, если выполняется импорт модулей для процедур C.

Выравнивание по умолчанию (которое можно выбрать с помощью значения DEFAULT) – это 2, в отличие от Turbo Pascal, где оно равно 1.

Больше информации и примеры по этой теме можно найти в Справочное руководство Free Pascal, в разделе, описывающем типы записей.

Следующие сокращения могут быть использованы для этой директивы:

{$A1 }
{$A2 }
{$A4 }
{$A8 }