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 -