6.11.4. Опции компилятора

На верх  Назад  Вперёд

Меню OPTIONS‑COMPILER позволяет устанавливать параметры, которые влияют на поведение компилятора. При выборе этого меню появляется окно с несколькими вкладками. Всего имеется шесть вкладок:

На каждой странице (вкладке) имеются два блока для ввода данных: первый для определения состояний и второй – для дополнительных аргументов компилятора. Символы и аргументы должны разделяться точкой с запятой.

Вкладка

Перевод

Описание

Syntax

Синтаксис

Здесь можно определить параметры, которые влияют на различные представления синтаксиса в исходном коде. См. также опцию командной строки –S, раздел «(*) 5.1.5. Параметры для исходных кодов (опции языка)».

Code generation

Генерация кода

Эти параметры управляют генерацией кода. См. также опцию командной строки –С или –Х.

Verbose

Информация

Эти параметры устанавливает генерацию подробных сообщений компилятора. Сообщения компилятора отображаются в окне сообщений, которое можно вызвать клавишей F12.

Browser

Обозреватель

Параметры, относящиеся к генерации информации обозревателя. Информация обозревателя необходима для генерации символов обозревателя для работы.

Assembler

Ассемблер

Параметры, относящиеся к чтению ассемблерных блоков (-R в командной строке) и генерации ассемблера (-A в командной строке).

Processor

Процессор

Здесь можно выбрать целевой процессор.

Вкладка СИНТАКСИС показана на рис. 6.23.

FreePascal_Руководство_пользователя_img_41

Рис. 6.23. Окно параметров компилятора. Вкладка СИНТАКСИС.

Вкладка ГЕНЕРАЦИЯ КОДА показана на рис. 6.24.

FreePascal_Руководство_пользователя_img_42

Рис. 6.24. Окно параметров компилятора. Вкладка ГЕНЕРАЦИЯ КОДА.

На вкладке СИНТАКСИС можно установить следующие опции:

Опция

Перевод

Описание

Stop after first error

Остановиться после первой ошибки

Если опция установлена, то компилятор останавливается после обнаружения первой ошибки. Обычно компиляция выполняется пока не случится фатальная ошибка. См. также опцию командной строки ‑Se, раздел «(*) 5.1.5. Параметры для исходных кодов (опции языка)».

Allow label and goto

Разрешать метки и переходы

Если опция установлена, то компилятор разрешает использование меток и оператора goto. См. также опцию командной строки –Sg, раздел «(*) 5.1.5. Параметры для исходных кодов (опции языка)».

Enable macros

Включить макросы

Разрешить использовать макросы. См. также опцию командной строки –Sm, раздел «(*) 5.1.5. Параметры для исходных кодов (опции языка)».

Allow inline

Разрешить функции

Разрешить использовать встроенные функции. См. также опцию командной строки –Sc, раздел «(*) 5.1.5. Параметры для исходных кодов (опции языка)» (Возможно, это опечатка – примечание переводчика).

Include assertion code

Включать условное кодирование

Включать в код оператор Assert.

Load Kylix compat. unit

Загружать Kylix модуль

Загружать совместимый с Kylix модуль.

Allow STATIC in objects

Разрешить STATIC в объектах

Разрешить модификатор Static для методов объекта. См. также опцию командной строки –St, раздел «(*) 5.1.5. Параметры для исходных кодов (опции языка)».

C-like operators

Си-подобные операторы

Разрешить использовать некоторые операторы стиля Си, такие как +=, -= и т.п. См. также опцию командной строки –Sc, раздел 5.1.5.

Compiler mode

Режим компилятора

Выбор подходящего режима компилятора. Может принимать следующие значения:

Free Pascal Dialect (Диалект Free Pascal)

По у молчанию используется этот режим (FPC).

Object Pascal extensions on (Включить расширения Object Pascal)

Включить использование классов и исключений. См. также опцию командной строки –Sd, раздел (*) 5.1.5. Параметры для исходных кодов (опции языка).

Turbo Pascal compatible (совместимость с Turbo Pascal)

Пытаться использовать максимально возможную совместимость с Turbo Pascal. См. также опцию командной строки –So, раздел (*) 5.1.5. Параметры для исходных кодов (опции языка).

Delphi compatible (Совместимость с Delphi)

Пытаться использовать максимально возможную совместимость с Delphi. См. также опцию командной строки –Sd, раздел (*) 5.1.5. Параметры для исходных кодов (опции языка)».

Macintosh Pascal Dialect (Диалект Macintosh Pascal)

Пытаться использовать максимально возможную совместимость с Макинтош.

На вкладке ГЕНЕРАЦИЯ КОДА можно установить следующие опции:

Опция

Перевод

Описание

Run-time checks

Проверки времени выполнения

Проверки кода во время генерации. Если какая-либо из этих проверок закончится неудачно, то будет сгенерирована ошибка времени выполнения. Следующие проверки могут быть выполнены:

Range checking (Проверка диапазона)

Проверять операции с перечисляемыми типами и множествами. См. также опцию командной строки –Cr, раздел (*) 5.1.4. Параметры, контролирующие результат компиляции.

Stack checking (Проверка стека)

Проверять, хватает ли размера стека. См. также опцию командной строки –Cs, раздел (*) 5.1.4. Параметры, контролирующие результат компиляции

I/O checking (Проверка ввода-вывода)

Проверять результат операций ввода-вывода. См. также опцию командной строки –Ci, раздел (*) 5.1.4. Параметры, контролирующие результат компиляции

Integer overflow checking (Проверка целочисленного переполнения)

Проверять результат целочисленных операций. См. также опцию командной строки –Co, раздел (*) 5.1.4. Параметры, контролирующие результат компиляции

Object method call checking (Проверка вызовов методов объекта)

Проверять правильность указателя метода перед его вызовом.

Position independent code (Независимый код)

Генерировать PIC код.

Create smartlinkable units (Создавать «умные» модули)

Генерировать модули в режиме «умная компоновка».

Optimizations

Оптимизации

Оптимизации, используемые при компиляции.

Generate faster code (Генерировать быстрый код)

Аналогично опции командной строки –OG.

Generate smaller code (Генерировать меньший код)

Аналогично опции командной строки –Og.

Более подробно об этих переключателях см. в разделе «(*) 5.1.4. Параметры, контролирующие результат компиляции».

Вкладка ПРОЦЕССОР показана на рис. 6.25.

FreePascal_Руководство_пользователя_img_43

FreePascal_Руководство_пользователя_img_43_1

Рис. 6.25. Окно параметров компилятора. Вкладка ПРОЦЕССОР.

На вкладке ПРОЦЕССОР можно установить целевой процессор. Компилятор может использовать различные оптимизации для различных процессоров.

Вкладка ИНФОРМАЦИЯ показана на рис. 6.26.

FreePascal_Руководство_пользователя_img_44

Рис. 6.26. Окно параметров компилятора. Вкладка ИНФОРМАЦИЯ.

На этой вкладке можно установить следующие параметры (для командной строки это параметр –v, см. раздел «5.1.2. Параметры обратной связи»):

Опция

Перевод

Описание

Warnings

Предупреждения

Генерировать предупреждения. Соответствует параметру –vw в командной строке.

Notes

Замечания

Генерировать замечания. Соответствует параметру –vn в командной строке.

Hints

Подсказки

Генерировать подсказки. Соответствует параметру –vh в командной строке.

General info

Общая информация

Генерировать общую информацию. Соответствует параметру –vi в командной строке.

Used, tried info

Использование и проверка

Генерировать информацию об использовании и проверке файлов. Соответствует параметру ‑vut в командной строке.

All

Всё

Генерировать всю возможную информацию. Соответствует параметру –va в командной строке.

Show all procedures if error

Показать процедуру в случае ошибки

Если при использовании загружаемой процедуры произойдёт ошибка, то показывать все процедуры. Соответствует параметру –vb в командной строке.

Вкладка ОБОЗРЕВАТЕЛЬ показана на рис. 6.27.

FreePascal_Руководство_пользователя_img_45

Рис. 6.27. Окно параметров компилятора. Вкладка ОБОЗРЕВАТЕЛЬ.

На этой вкладке можно установить параметры обозревателя:

Опция

Перевод

Описание

No browser

Нет обозревателя

По умолчанию. Не отображать информацию, генерируемую компилятором.

Only global browser

Только глобальный обозреватель

Информация генерируется только для глобальных идентификаторов, то есть для идентификаторов, определённых НЕ в процедуре или функции. Соответствует параметру –b в командной строке.

Local and global browser

Локальный и глобальный обозреватель

Информация генерируется для всех идентификаторов, то есть в том числе и для тех, которые определены в процедуре или функции. Соответствует параметру –bl в командной строке.

ПРИМЕЧАНИЕ

Если информация для обозревателя не генерируется, то идентификаторы обозревателя в IDE не будут работать.

Вкладка АССЕМБЛЕР показана на рис. 6.28. В реальности эта вкладка может быть другой (зависит от целевого процессора, для которого была откомпилирована IDE).

FreePascal_Руководство_пользователя_img_46

Рис. 6.28. Окно параметров компилятора. Вкладка АССЕМБЛЕР.

На вкладке АССЕМБЛЕР можно установить следующие параметры:

Опция

Перевод

Описание

Assembler reader

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

AT&T assembler

Стиль ассемблера AT&T. Соответствует параметру –Ratt в командной строке.

Intel style assembler

Стиль ассемблера Intel. Соответствует параметру –Rintel в командной строке.

Assembler info

Информация

Этот параметр определяет, какая информация будет записываться в файлы ассемблера в виде комментариев:

List source (Список исходников)

Строки исходного кода будут записываться в файлы ассемблера вместе генерируемым ассемблером (соответствует параметру –al в командной строке).

List register allocation

Помещение/извлечение информации встроенного регистра компилятора будет записываться в файл ассемблера (соответствует параметру –ar).

List temp allocation

Помещение/извлечение информации временного регистра будет записываться в файл ассемблера (соответствует параметру –at в командной строке).

List node allocation

Помещение/извлечение информации с замечаниями будет записываться в файл ассемблера (соответствует параметру –an в командной строке).

Use pipe with assembler

Использовать канал на Unix-системе, если код ассемблера передаётся во внешний ассемблер.

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

Assembler output

Выход ассемблера

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

Use default output

Определяется целевой платформой.

Use GNU as

Использовать ассемблер GNU as (соответствует параметру –Aas).

Use NASM coff

Использовать ассемблер NASM coff (go32v2, параметр -Anasmcoff).

Use NASM elf

Использовать ассемблер NASM elf (LINUX, соответствует параметру –Anasmelf).

Use NASM obj

Использовать ассемблер NASM obj (соответствует параметру –Anasmobj).

Use MASM

Использовать ассемблер MASM (соответствует параметру –Amasm).

Use TASM

Использовать ассемблер TASM (соответствует параметру –Atasm).

Use coff

Записывать бинарные coff-файлы, напрямую используя встроенный ассемблер (go32v2, в командной строке параметр –Acoff).

Use pecoff

Записывать бинарные pecoff-файлы, напрямую используя встроенный ассемблер (Win32).