Меню опции TOOLS. Меню опции OPTIONS.
MEMORY SIZES.
В диалоговом окне опции OPTIONS/MEMORY SIZES используются три поля ввода. С их помощью можно регулировать размеры памяти, которую занимает работающая программа:
- Stack size – размер программного стека; по умолчанию 16384 байта, максимум – 65535 байт;
- Low heap limit – минимальный размер кучи; по умолчанию 0;
- High heap limit – максимальный размер кучи; по умолчанию 655360 байт; этот параметр не может быть меньше параметра Low heap limit.
Для оценки необходимых программе объемов памяти следует учесть, что все локальные переменные при каждом обращении к процедуре (функции) размещаются в стеке, а при выходе из нее стек освобождается. Таким образом, требуемый размер стека определяется количеством вложенных вызовов процедур (функций) и суммарным количеством их локальных переменных. Величина кучи определяется реальными потребностями программы в динамической памяти. Если установлен максимально возможный размер кучи 655360 байт, то такая программа после загрузки займет всю доступную оперативную память, а это исключит возможность запуска из нее других программ.
LINKER.
В диалоговом окне этой опции имеются две группы переключаемых опций, с помощью которых регулируется режим работы компоновщика Турбо Паскаля: опции группы Map file управляют выходным документом компоновщика, опции группы Link buffer – использованием памяти. Выходной документ компоновщика (карта распределения памяти) бывает полезен при отладке программы с помощью внешнего отладчика. Опция Off запрещает формирование карты. Опция Segments формирует сегментную карту с указанием адреса запуска программы и сообщениями об ошибках периода компоновки программы.
Опция Public дает такую же карту, как и опция Segments, и дополнительно приводит список внешних символов в алфавитном порядке. Наконец, опция Detailed дает полную карту распределения памяти. Опция Memory предписывает компоновщику использовать оперативную память для размещения своих таблиц и временного хранения компонуемой программы, при активной опции Disk компоновщик для этих целей использует пространство диска. Если активна опция Memory, компоновщик будет работать значительно быстрее, однако при разработке крупных программ ему может не хватить оперативной памяти и он не скомпонует программу.
Вообще, следует помнить о том, что даже довольно большой объем оперативной памяти ПК (640 Кбайт) может оказаться недостаточным для разработки с помощью среды Турбо Паскаля крупных программных проектов: ведь сам Турбо Паскаль занимает в памяти 304 Кбайт. Если обнаружена нехватка памяти, среда дает сообщение Out of memory (не хватает памяти) и устанавливает курсор в конец программы. В этом случае следует прежде всего попытаться сэкономить память за счет установки в активное состояние опции Disk.
(Турбо Паскаль 7.0 включен в комплект поставки более мощной системы программирования Borland Pascal with objects 7.0. Входящая в эту систему среда программирования ВР использует расширенную память для размещения таблиц компилятора и компоновщика. В то же время язык Турбо Паскаля представляет собой подмножество языка ВР, что дает возможность компилировать программы Турбо Паскаля без какой-либо их переделки в среде ВР. Используйте, если это возможно, среду ВР для разработки крупных программ.)
Еще примерно 44 Кбайта памяти можно сэкономить за счет отказа от автоматической загрузки системной библиотеки TURBO.TPL (см. ниже опцию OPTIONS/ENVIRONMENT/STARTUP). Наконец, может оказаться необходимым отказ от услуг самой среды Турбо Паскаля на этапе прогона программы. Для этого нужно установить опцию COMPILE/DESTINATION в состояние DISK, создать программу с помощью опций МАКЕ или BUILD, выйти из среды и запустить программу. В этом случае программа получает в свое распоряжение всю память ПК, но Вы лишаетесь возможности отлаживать ее средствами встроенного отладчика. В некоторых случаях за счет оверлейной структуры программы (см. гл. 11) ее размеры удается уменьшить настолько, что даже крупная программа помещается в памяти вместе со средой. Если, несмотря на все меры экономии, памяти все-таки не хватает, можно полностью отказаться от услуг среды и использовать автономный компилятор-компоновщик ТРС.ЕХЕ.
DEBUGGER.
Эта опция определяет используемый отладчик и режим обновления экрана дисплея в процессе отладки. Если активна опция Integrated, к программе будет добавлена информация, необходимая для работы встроенного отладчика. Только в этом состоянии опции можно использовать контрольные точки и пошаговую отладку. При активизации опции Standalone к ЕХЕ-файлу программы будут добавлены соответствующие таблицы, которые позволят вести отладку программы вне среды Турбо Паскаля с помощью внешнего отладчика TD.EXE. Три других опции сообщают среде, в каких случаях следует переключать экран с воспроизведения окна редактора на окно программы. В режиме Smart среда будет переключать экран по мере надобности – только если в очередном операторе программы было обращение к экрану для вывода или к клавиатуре для ввода.
Переключение на окно программы будет также и тогда, когда отладчик "перескакивает" через вызов процедуры (функции) по клавише F8, но в этой процедуре (функции) есть обращение к экрану. Если установлен режим Always, переключение будет происходить перед исполнением любого оператора программы. Наконец, в режиме None среда никогда не переключает экран, даже если он требуется для вывода данных, т.е. вывод программы будет накладываться на текст программы. Испорченный в результате такого прогона текст в окне редактора можно обновить с помощью опции Window/Refresh display.