Параметры компилятора и компоновщика
IDE позволяет вам выбрать несколько параметров, влияющих на характер компиляции кода. Для вывода диалогового окна параметров компилятора Compiler Options выберите команду Options|Compiler. Если вы не уверены относительно того, что делает конкретный пара- метр, выберите его в диалоговом окне, в строке состояния появится поясняющая справка. Для вывода более подробной информации о дан- ном параметре нажмите клавишу F1 или выберите команду Help для получения справочной информации обо всем диалоговом окне Compiler Options.
+=[ ]======================Compiler Options=====================+ | Compiler settings for: ##Real mode target##########v#| |---------------------------------------------------------------| | Code generation | | #[#]#Force#far#calls#########[#]#286#instructions######### | | #[#]#Overlays#allowed########[#]#Smart#callbacks########## | | #[X]#Word#align#data#########[#]#Windows#stack#frames##### | | Runtime errors Syntax Options | | #[#]#Range#checking##### #[X]#Strict#var-strings####### | | #[X]#Stack#checking##### #[#]#Complete#boolean#eval#### | | #[X]#I/O#checking####### #[X]#Extended#syntax########## | | #[ ]#Overflow#checking## #[#]#Typed#@#operator######### | | Debugging #[#]#Open#parameters########## | | #[X]#Debug#Information## Numeric processing | | #[X]#Local#symbols###### #[#]#8087/80287############### | | #[X]#Symbol#information# #[X]#Emulation################ | | | | Conditional defines | | XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXvX | | | | XXXXXOKXXXX XXXCancelXXX XXXHelpXXXX | | ########### ############ ########### | | | +===============================================================+
Рис. 4.3 Диалоговое окно Compiler Options.
Compiler settings for - установки компилятора для; Real mode target - целевая платформа реального режима; Code generation - генерация кода; Force far calls - принудительное использование вызовов дальнего типа; 286 instructions - инструкции процессора 286; Overlays allowed - допустимость оверлеев; Smart callbacks - эффективные вызовы; Word align data - выравнивание данных на гра- ницу слова; Windows stack frames кадры стека Windows; Runtime errors - ошибки этапа выполнения; Syntax Options - синтаксические ошибки; Range checking - проверка диапазона; Strict var-strings - строгая проверка строковых переменных; Stack checking - проверка стека; Complete boolean eval - полное вычисление булевских выра- жений; I/O checking - проверка ввода-вывода; Extended syntax - расширенный синтаксис; Overflow checking - проверка переполнения стека; Typed @ operator - типизованная операция @; Debugging - отладка; Open parameters - открытые параметры; Debug Information - отладочная информация; Numeric processing - числовая обработка; Local symbols - локальные идентификаторы; 8087/80287 - процессоры 8087/80287; Symbol information - локальная информация; Emulation - эмуляция; Conditional defines - условные определения.
Задание параметров компилятора для целевой платформы
Выбираемые вами параметры компилятора в сильной степени за- висят от того, какую целевую платформу вы используете. Например, если вы создаете приложение DOS реального режима, то можете раз- решить использование оверлеев, что не требуется для программ Windows или защищенного режима DOS.
Для указанной целевой платформы вы можете установить стан- дартные параметры компилятора:
Примечание: Меню Compiler Options компилятора TURBO.EXE не имеет параметра Compiler Setting For.
1. Для вывода прокручиваемого списка щелкните "мышью" на стрелке v или нажмите клавишу стрелки вниз при выборе блока списка Compiler Setting For.
2. Проверьте выбранную целевую платформу.
IDE автоматически устанавливает обычно используемые парамет- ры. В любой момент вы можете переопределить эти выбранные в IDE параметры.
Если параметр компилятора несовместим с выбранной целевой платформой, то он становится тусклым, и вы не можете его выби- рать.
Установка параметров компилятора для всех целевых платформ
Если вы хотите чтобы конкретный параметр компилятора был ус- тановлен независимо от используемой целевой платформы, сделайте следующее:
1. В качестве значения параметра Compiler Settings For выбе- рите All Targets.
2. Установите или отмените параметр компилятора, который вы хотите установить.
Например, если вы хотите использовать инструкции процессора 286 для всех платформ, выберите All Targets (Все платформы), за- тем установите параметр 286 instructions.
Когда вы выбираете All Targets, то можете увидеть, что в не- которых кнопках с независимой фиксацией выводится вопросительный знак (?). Это указывает, то установка параметра для всех платформ не является одинаковой. Вы можете изменить этот параметр, сделав его одинаковым для всех платформ, или оставить как есть.
Задание параметров компоновщика
Характер компоновки вашего кода зависит от установок в диа- логовом окне Linker Options (Параметры компоновщика). Для его вы- вода выберите команду Options|Linker. Если нужна более детальная информация, выберите Help.
Включение в код директив компилятора
Существует еще один способ задания режима компиляции исход- ного кода. Вместо использования для установки параметров диалого- вых окон вы можете включить в свой код директивы компилятора. Например, вы можете включить в свою программу проверку диапазона, установив в диалоговом окне Options|Compiler параметр Range Checking, или поместить в исходный код директиву {$R+}. Полное описание директив компилятора и их использования вы можете найти в Главе 2 ("Директивы компилятора") "Справочного руководства программиста".
Включаемые в исходный код директивы компилятора имеют боль- ший приоритет, чем параметры компилятора, устанавливаемые в IDE. Например, если в IDE вы установите параметр Range Checking, но ваша программа включает в себя директиву {R-}, то программа ком- пилируется с выключенной проверкой диапазона.