1.2.9. $CODEALIGN : Установить выравнивание кода

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

Этот переключатель устанавливает выравнивание кода. Он принимает аргумент, который определяет выравнивание в байтах (выравнивание – это установка размера для разных типов данных).

{$CODEALIGN 8}

Имеется некоторое количество аргументов, которые можно указать для более гибкой настройки поведения компилятора.

Общий формат директивы:

{$CODEALIGN PARAM=VALUE}

где PARAM – это настраиваемый параметр, а VALUE – числовое значение, определяющее выравнивание. PARAM может содержать следующие строки:

PROC – установить выравнивание для точек вхождения процедур.

JUMP – установить выравнивание для переходов к назначенным местоположениям.

LOOP – установить выравнивание для циклов (for, while, repeat).

CONSTMIN – минимальное выравнивание для констант (типизированных и нетипизированных).

CONSTMAX – максимальное выравнивание для констант (типизированных и нетипизированных).

VARMIN – минимальное выравнивание для статичных и глобальных переменных.

VARMAX – максимальное выравнивание для статичных и глобальных переменных.

LOCALMIN – минимальное выравнивание для локальных переменных.

LOCALMAX – максимальное выравнивание для локальных переменных.

RECORDMIN – минимальное выравнивание для полей записи.

RECORDMAX – максимальное выравнивание для полей записи.

По умолчанию размер структуры данных определяет выравнивание:

SmallInt будет выровнено на 2 байта.

LongInt будет выровнено на 4 байта.

Int64 будет выровнено на 8 байтов.

С указанными выше переключателями можно определить минимальное и максимальное выравнивание. Максимально допустимое выравнивание имеет значение, только если оно меньше, чем натуральный размер. То есть максимальное выравнивание (например, VARMAX) равное 4, будет приводить к выравниванию в 4 байта: Int64 будет уменьшено также до 4 байтов, а SmallInt так и останется выровнено на 2 байта.

Эти значения можно также указать в командной строке как

-OaPARAM=VALUE