Техника
программирования на Turbo C
Содержание
Автор: Ал. Стивенс
Предисловие
Обзор разделов
ГЛАВА 1
Интерактивное программное
обеспечение, управляющее изображением.
ГЛАВА 2
Язык Cи
Краткая история языка Си
Особенности языка Си
Достоинства языка Си
Одобрение языка Си
Рекомендуемая литература по Си
ГЛАВА 3
Компилятор Турбо Си
Два Турбо Си
Настройка интегрированной среды
Редактор Турбо Си
Компоновщик Турбо Си
Утилита построителя задач (Make) в Турбо Си
Обнаружение ошибок при компиляции и компоновке
Программные средства низкого уровня
Начальная установка
Модели памяти
Библиотека исходных модулей
Заключение
ГЛАВА 4
Функции общего назначения
Исходные модули функций общего назначения
Заключение
ГЛАВА 5
Экранные окна
Экранное окно
Архитектура видеопамяти
"Снег" и обратный ход луча развертки
Заключение
ГЛАВА 6
Библиотека оконных
функций
Стековые окна
Слоеные окна
Оконные функции
Листинги оконных функций
Описание программы: twindow.h
Описание программы: twindow.c
Примеры окон
Перемещение окна
Подъем и опускание окон
Назначение заголовков и изменение цветов окна
Сравнение стековых и слоеных окон
Перемещение, подъем, скрытие окон, меню, изменение
интенсив
Резюме
ГЛАВА 7
ГЛАВА 8
Иcпользование данных
в окнах
Шаблон ввода данных
Поле ввода данных
Позиция
Атрибуты
Буфер
Проверка допустимости значений
Help-информация
Маска вводимых данных
Приглашения к вводу в поле (Prompts)
Ввод данных
Функции сбора данных
Исходный текст: entry.c
Описание программы: entry.c
Пример: Ввод данных в определенном порядке
Резюме
ГЛАВА 9
Оконный текстовый редактор
Команды тестового редактора
Управление курсором
Постраничная работа
Команды работы с блоками текста
Команды редактирования
Функция, реализующая текстовый редактор
Исходный листинг: editor.c
Описание программы: editor.c
Пример: Использование редактора
Резюме
ГЛАВА 10
Оконные меню
Меню
Процесс, образующий оконное меню
Функции поддержки меню
Исходный листинг: tmenu.c
Описание программы: tmenu.c
Пример оконного меню
Резюме
ГЛАВА 11
Резидентные программы
Прерывания
Векторы прерывания
Аппаратные прерывания
Программные прерывания
ДОС - однозадачная операционная система
TSR-программы
Программы обработки прерываний
Резидентные утилиты
Что может быть резидентным
Построение TSR-программ
Превращение программы в резидентную
Резидентна ли уже программа?
Захват прерывания
Величина TSR-программы
Переключение контекстов
Стек
Program Segment Prefix (PSP)
Дисковый буфер
Прерывание от клавиатуры (9)
Прерывание от таймера
Проблема реентерабельности ДОС
Два стека ДОС
Системный флажок занятости (0х34)
Прерывание DOSOK
Дисковое прерывание ROM-BIOS.(0х13)
Прерывание ctrl-Break в ДОС (0x23)
Выполнение TSR-программы
Завершение TSR-программы
Приостановка и возобновление выполнения TSR-программы
Выводы
Глава 12
Построение резидентных
программ
Пример TSR-программы - "часы"
Превращение программы в резидентную
Прерывание по делению на ноль
Выполнение обработчика прерываний от таймера
Связвание старого вектора прерывания по таймеру
Сохранение и переключение контекста стека
Вычисление времени
Программы TSR-драйвера
Действия трех программных модулей
Размер TSR-программы
Присвоение "горячего ключа"
Сигнатура TSR-программы
Коммуникационные прерывания
Подготовка к резидентности
Обработчик обращения к диску
Обработчик критических ситуаций
Обработчик клавиатуры
Обработчик таймера
Обработчик DOSOK
Выполнение TSR-программы
Удаление TSR-программы
Блоки памяти и управляющие блоки памяти
Исходные тексты: popup.c, resident.c
TSR-программа - приложение
Проверка TSR-программ
Выводы
ЭПИЛОГ
|