Страница 38 из 69
плавающей точкой типа 8087/80287, и использует его, если он есть;
в противном случае этот процессор эмулируется, но полученная
программа будет выполняться более медленно.
- None, которая предполагает, что вы не используете в прог-
рамме операции с плавающей точкой. (Если выбрана опция None, а вы
используете вычисления с плавающей точкой в вашей программе, то
вы получите ошибки при компоновке).
Default Char Type (тип символа, используемый по умолчанию)
----------------------------------------------------------
Переключает между Signed (со знаком) и Unsigned (без знака)
тип символа, используемый по умолчанию. Если вы выбираете Signed,
то компилятор будет обрабатывать все определения типа char, как
если бы они были типа signed char; и наоборот, при выборе
Unsigned, компилятор обрабатывает все определения типа char так,
как если бы они имели тип unsigned char. Значением по умолчанию
является Signed.
Alignment (выравнивание)
------------------------
Позволяет вам переключаться с выравнивания объектного фай-
ла на границу слова на выравнивание на границу байта. При вы-
равнивании на границу слова несимвольные данные выравниваются
по четным адресам. При выравнивании на границу байта данные мо-
гут выравниваться как по нечетным, так и по четным адресам, в
зависимости от следующего доступного адреса. Выравнивание на
границу слова увеличивает скорость выборки и записи в память
данных процессорами типа 8086 и 80286.
Generated Underbars (генерация символа подчеркивания)
- 311,312 -
-----------------------------------------------------
По умолчанию эта опция всегда включена (установлена в On).
Если вы не являетесь специалистом и не читали главу 12, пос-
вященную более сложным вопросам программирования, то не изменяйте
значение этой опции.
Merge Dublicate String (слияние одинаковых строк)
-------------------------------------------------
Слияние одинаковых строк оптимизирует объектный файл путем
объединения строк, в случае когда одна строка совпадает с другой.
Это приводит к более компактным программам. По умолчанию эта оп-
ция выключена (Off).
Standart Stack Frame (стандартная запись активации)
---------------------------------------------------
Генерирует стандартные записи активации (стандартные коды
вызова и выхода из функции). Целесообразно использовать при от-
ладке с помощью символного отладчика для упрощения процесса прос-
мотра хранящихся в стеке вызванных подпрограмм. По умолчанию
включена (On).
Если исходный файл компилируется при выключенной (Off) опции
Standart Stack Frame, все функции, не использующие локальные пе-
ременные и не имеющие параметры, компилируются с сокращенным вхо-
дом и кодом возврата. Это делает код программы короче и быстрее,
однако делает функции недоступными для Debug/Call Stack. Поэтому,
если вы хотите использовать отладчик, компилируйте ваш исходный
файл при включенной опции Standart Stack Frame.
Test Stack Overflow (проверка переполнения стека)
-------------------------------------------------
Генерирует код для проверки переполнения стека во время вы-
полнения программы. Хотя это отражается на занимаемой программой
памяти и времени ее выполнения, но на практике пренебрегать воз-
можностью компилятора генерировать такие средства не стоит: пере-
полнение стека очень сложная для выявления ошибка. По умолчанию
- 313,314 -
эта опция выключена (Off).
Line Numbers (нумерация строк)
------------------------------
Включает режим нумерации строк объектного файла (для даль-
нейшего использования символьным отладчиком). Это увеличивает
размеры обьектного файла и файла карты, но не влияет на размер
или скорость выполнения программы. (Размер выполняемой программы
увеличится, если переключатель Debug/Source Debugging установлен
в On, и вы компонуете объектные файлы, созданные с включенной оп-
цией O/C/C/Line Numbers. Размер файла увеличивается из-за добав-
ления отладочной информации.) По умолчанию выключена (Off).
Так как компилятор может группировать общий код из различных
участков исходного текста во время оптимизации переходов или пе-
реупорядочивать строки (что затрудняет прослеживание номеров
строк), мы рекомендуем отключить установку Options/Compiler/
Optimization/Jump Optimization при использовании режима нумерации
строк объектного файла.
OBJ Debug Information (тип отладочной информации)
-------------------------------------------------
Управляет типом отладочной информации, включаемой в объект-
ные файлы. По умолчанию установлена в On (включена), что позволя-
ет применять для отладки как встроенный интегрированный, так и
автономный отладчик Турбо.
Optimization (меню оптимизации)
-------------------------------
Опции данного меню позволяют вам оптимизировать код вашей
программы тем или иным образом.
Optimize For (оптимизировать по...)
------------------------------------
Изменяет стратегию генерации обьектного кода Турбо Си. Обыч-
но компилятор работает в режиме "Optimize for...Size" (оптимиза-
- 315,316 -
ция по размеру), создавая возможно меньшую по объему последова-
тельность кодов. При переключении этого режима работы на
"Optimize for...Speed" (оптимизация по скорости выполнения прог-
раммы), компилятор генерирует наиболее быструю (из возможных)
последовательность кодов объектного файла для данной задачи.
User Register Variables (использование регистровых переменных)
--------------------------------------------------------------
Запрещает или разрешает использовать регистровые переменные
в программе на Турбо Си. При включении этой опции (On), регистро-
вые переменные используются автоматически. При выключении этой
опции (Off), регистровые переменные не используются компилятором,
даже если вы указали ключевое слово register при их описании (см.
Приложение C "Справочного руководства" для выяснения деталей).
Вообще лучше сохранять эту опцию в положении On, если вы не
создаете интерфейс с уже существующими программами на ассемблере,
которые не поддерживают работу с регистровыми переменными.
Register Optimization (регистровая оптимизация)
-----------------------------------------------
Регистровая оптимизация запрещает избыточные загрузочные
операции, запоминая содержимое регистров и вторично используя его
так часто, как это возможно.
Замечание. Вы должны соблюдать осторожность при использова-
нии этой опции, потому что компилятор не может определить, был ли
регистр модифицирован косвенно, посредством указателя. Обратитесь
к Приложению A "Справочного руководства" для более подробного ра-
зъяснения этого ограничения.
Jump Optimization (оптимизация по переходам)
--------------------------------------------
Оптимизация по переходам уменьшает размер программы за счет
удаления лишних передач управления, реорганизации циклов и опера-
торов switch. Реорганизации циклов могут ускорить действие сжатых
внутренних циклов.
- 317,318 -
Замечание. Когда этот переключатель установлен в On (вклю-
чен), пошаговая отладка и трассирование могут быть запутаны, т.к.
несколько строк исходного текста могут соответствовать одной пос-
ледовательности кода. Поэтому при отладке лучше устанавливать
этот переключатель в Off (выключен).