6.12. Система библиотечных модулей языка
В системе Турбо Паскаль определен ряд стандартных модулей TPU Они обеспечивают функции ввода-вывода, работы со строками, управления экраном дисплея, работы с принтером и т.п. В процессе работы компилятора система генерирует коды только для строк, не содержащих вызов каких-либо функций, а вместо генерации кодов для этих функций подключает (уже в процессе компоновки) соответствующий стандартный модуль. Рассмотрим назначение этих модулей подробнее:
1. SYSTEM TPU включает все стандартные процедуры и функции, которые объявлены в стандартном ANSI Паскале (Ln, Exp, Sin, Cos и т.д.), а также обеспечивает работу с командной строкой. По сути, это системная библиотека Турбо Паскаля.
2. DOS.TPU включает стандартные процедуры для работы с функциями операционной системы MS-DOS и объявления вспомогательных глобальных переменных.
3. CRT.TPU содержит библиотеку процедур, которые работают с клавиатурой и дисплеем, обеспечивая полное управление ими и получение информации об их состоянии.
- 131 -
4. PRINTER.TPU обеспечивает быстрый и легкий доступ к принтеру.
5. GRAPH.TPU дает возможность использовать более пятидесяти графических высокоуровневых процедур.
6. OVERLAY.TPU обеспечивает полную поддержку и администрирование оверлейных структур программ.
7. WIN.TPU является приложением к модулю CRT. Предоставляет новые возможности при работе с окнами.
8. TURBO3.TPU, GRAPH3.TPU обеспечивают совместимость программ, написанных на Турбо Паскале версии 3.0 и использующих его процедуры, функции и глобальные переменные. В нашей книге эти модули рассматриваться не будут.
Ряд модулей включаются в библиотеку поддержки языка Турбо Паскаль, которая именуется TURBO.TPL (Turbo Pascal Library). Состав этой библиотеки может изменяться с помощью утилиты TPUMOVER.EXE. Помните: модуль SYSTEM.TPU всегда должен быть в составе TURBO.TPL.
Подключение модулей TPU к программе осуществляется на этапе трансляции строкой примерно следующего вида:
USES
DOS, CRT, Printer;
Модуль System не надо объявлять — он включается в тело программы по умолчанию.
Многие из системных модулей вводят глобальные переменные, которые размещаются в той же области памяти (сегменте данных) что и глобальные переменные использующей модули программы. При этом уменьшается объем свободного пространства для хранения переменных (сегмент данных ограничен размером 64K). Потребление сегмента данных системными модулями показано в таблице:
Модуль -- Объем привносимых переменных
System -- 664 байт
CRT -- 20 байт
DOS -- 6 байт
Printer -- 256 байт
Overlay -- 24 байт
Graph -- 1070 байт
Turbo3 -- 256 байт
Graph3 -- 0 байт
- 132 -