Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Программирование на C / C++ / Техника программирования на Турбо-Си.doc
Скачиваний:
45
Добавлен:
02.05.2014
Размер:
1.58 Mб
Скачать

Глава 12 ....................................................... 180

Построение резидентных программ ............................... 180

Пример TSR-программы - "часы" ................................. 180

Превращение программы в резидентную ........................... 180

Прерывание по делению на ноль ................................. 181

Выполнение обработчика прерываний от таймера .................. 182

Связывание старого вектора прерывания по таймеру .............. 182

Сохранение и переключение контекста стека ..................... 182

Вычисление времени ............................................ 182

Программы TSR-драйвера ........................................ 185

Действия трех программных модулей ............................. 186

Размер TSR-программы .......................................... 186

Присвоение "горячего ключа" ................................... 186

Сигнатура TSR-программы ....................................... 188

Коммуникационные прерывания ................................... 188

Подготовка к резидентности .................................... 189

Обработчик обращения к диску .................................. 190

Обработчик критических ситуаций ............................... 191

Обработчик клавиатуры ......................................... 191

Обработчик таймера ............................................ 191

Обработчик DOSOK .............................................. 191

Выполнение TSR-программы ...................................... 192

Удаление TSR-программы ........................................ 192

Блоки памяти и управляющие блоки памяти ....................... 193

Исходные тексты: popup.c, resident.c .......................... 193

TSR-программа - приложение .................................... 201

Проверка TSR-программ ......................................... 202

Выводы ........................................................ 203

ЭПИЛОГ.......................................................... 203

Предисловие

-----------------------------------------------------------------

Поскольку вы читаете данную книгу, то, вероятно, вы

программируете на языке Си и уже приобрели или собираетесь

приобрести компилятор Турбо Си для своей IBM PC. При чтении от

вас потребуется довольно хорошее знание языка Си, а также DOS -

операционной системы персональных ЭВМ (ПЭВМ) линии IBM PC - и ее

функций. Знание языка ассемблера процессора 8086 и архитектуры

IBM PC желательно, но не обязательно. В книге содержится

множество исходных модулей функций на языке Си, которые помогут

писать программы, работающие с окнами, а также делать ваши

программы резидентными в памяти.

Программы, работающие с окнами, и резидентные в памяти

программные утилиты составляют в настоящее время основное

направление в программировании для IBM PC. По своей природе

персональная ЭВМ является настольной интерактивной (диалоговой)

системой, которая предоставляет пользователю доступ к набору

интерактивных программ. Аппаратура и операционная система

обеспечивают возможность разработки программ, работающих с

окнами и меню, которые появляются на экране по нажатию клавиши.

Большинство пакетов программ, пользующихся в настоящее время

наибольшим спросом у пользователей, применяют хотя бы одно из

этих средств. В данной книге разбираются основы работы с ними и

содержатся исходные тексты функций на языке Си, позволяющие

использовать эти средства в ваших программах. Прочитав эту

книгу и разобрав содержащиеся в ней программы, а также освоив

компилятор Турбо Си и основы программирования на языке Си, вы

будете готовы создавать резидентные программные утилиты,

использующие окна для организации пользовательского интерфейса.

Эта книга содержит сведения о языках программирования, о

развитии программного обеспечения, а также примеры использования

языков программирования для написания интерактивных,

экранно-ориентированных программ для ЭВМ. Не следует думать, что

перед вами очередная книга об IBM PC, но образ этой персональной

ЭВМ постоянно присутствует здесь. Если прежде акроним РС

обозначал определенную ЭВМ, то теперь он обозначает архитектуру

ЭВМ, которая была создана промышленным гигантом и стала

общепризнанной. РС в данной книге не является объектом изучения,

а обозначает некоторый абстрактный объект, который располагается

на вашем столе, работает под управлением MS-DOS и называется РС,

ХТ, АТ или чем-либо совместимым с ними.

В данной книге вы столкнетесь с программами, написанными на

языке Си. Это замечательный язык, и хотя некоторым он не

нравится, но все же большинство программистов его любят. На Си вы

можете создавать программы, которые делают все, что вы пожелаете.

Нет другого такого языка, который бы так же стимулировал к

программированию. Создается впечатление, что остальные языки

программирования воздвигают искусственные препятствия для

творчества, а Си - нет. Использование этого языка позволяет

сократить затраты времени на создание работающих программ. Си

позволяет программировать быстро, эффективно и предсказуемо. Еще

одно преимущество Си заключается в том, что он позволяет

использовать все возможности вашей ЭВМ. Этот язык создан

программистом для использования другими программистами, чего о

других языках программирования сказать нельзя. Кобол был

создан таким, чтобы менеджеры могли разбираться в написанных на

этом языке программах; Бэйсик был создан для непрограммистов;

Фортран - для научных работников; Ада вообще был создан

прямо-таки правительственным комитетом; Пайлот создан для

учителей; Паскаль - для студентов; Лого - для детей; АПЛ - для

марсиан; Форт, Лисп и Пролог - специализированные языки. Один Си

- это язык для программистов.

Турбо Си, о котором идет речь в этой книге, - это пакет,

который создает программную среду для программирования на языке

Си и является первым из компиляторов Си нового поколения. Турбо

Си содержит редактор с возможностью установки его параметров

пользователем, построитель задач, ориентированный на реализацию

программного проекта, "быстрый" компоновщик, а также самый

"быстрый" компилятор Си для РС, которые "погружены" в

интегрированную, оконно-ориентированную программную среду. Турбо

Си также предоставляет возможность работы с библиотекой функций

и расширениями языка Си, что обеспечивается использованием

вспомогательных программ обработки прерываний и других

резидентных в памяти программ. Такое использование законно,

поскольку Borland International - создатель Турбо Си -

является также основным производителем резидентных программных

утилит.

В этой книге содержатся исходные тексты функций, которые вы

можете использовать в своих программах, работающих в режиме

интерактивного взаимодействия с пользователем. Использование

этих функций улучшит пользовательский интерфейс ваших программ.

Они обеспечивают возможности работы с окнами, меню, ввода

данных по установленному шаблону, оконного редактирования

текста, а также создания резидентных программ, которые

вызываются нажатием определенных клавиш.

Кроме описания этих функций в книге излагаются также

аппаратные и программные принципы, которые лежат в основе

создания программ, управляющих выводом изображений и резидентных

программ. Подробно рассматриваются система прерываний,

видеопамять, а также внутренняя организация DOS, включая

множество функций DOS, использование которых необходимо при

создании резидентных программ, но по которым нет документации

или, наоборот, которые распространяются разработчиками и

поставщиками DOS.

Обзор разделов

------------------------------------------------------------------