"Адское" программирование Ada-95 -Компилятор GNAT



"Адское" программирование Ada-95 -Компилятор GNAT

         

"Адское" программирование Ada-95 -Компилятор GNAT




Пакет Ada.Text_IO
Искючения ввода/вывода
Файлы ввода/вывода по умолчанию
Настраиваемые пакеты текстового ввода/вывода
Ввод/вывод двоичных данных
Пакет Ada.Sequential_IO
Пакет Ada.Direct_IO
Потоки ввода/вывода

Параметры командной строки
Переменные окружения программы
Ссылочные типы (указатели)
Ссылочные типы для динамической памяти
Элементарные сведения: описание, создание, инициализация
Структуры данных со ссылками на себя
Освобождение пространства динамической памяти
Пулы динамической памяти
Проблемы обусловленные применением ссылочных типов
Обобщенные ссылочные типы

Правила области видимости для обобщенных ссылочных типов
Ссылочные типы для подпрограмм
Правила области видимости ссылочных типов для подпрограмм
Низкоуровневая средства работы со ссылочными типами и физическими адресами памяти
Тэговые типы (tagged types)
Механизмы наследования
Расширение существующего типа данных
Описание переменных и преобразование типов
Примитивные и не примитивные операции над тэговыми типами Наследование операций
"Пустые" записи (null record) и расширения

Абстрактные типы и подпрограммы
Динамическое связывание и полиморфизм
Надклассовые типы (wide class types)
Проверка типа объекта во время выполнения программы
Динамическая диспетчеризация
Модель механизма диспетчеризации
Вызов переопределенной операции предка
Динамическая передиспетчеризация
Двойная диспетчеризация
Стандартные низкоуровневые средства, пакет Ada.Tags

Общие сведения
Управление динамическими объектами
Счетчик использования
Блокировка ресурса
Отладка контролируемых типов Некоторые рекомендации
Многозадачность
Типы и объекты задач
Инструкции задержки выполнения (delay statements)
Динамическое создание объектов задач
Принудительное завершение abort

Приоритеты задач
Взаимодействие задач
Концепция рандеву
Описание входов
Простое принятие обращений к входам
Простой вызов входа
Селекция принятия рандеву
Селекция вызова рандеву
Идентификация задач и атрибуты
Разделяемые (общие) переменные

Защищенные модули (protected units)
Проблемы механизма рандеву
Защищенные типы и объекты Защищенные подпрограммы
Защищенные входы и барьеры
Особенности программирования защищенных входов и подпрограмм
Атрибуты входов защищенных объектов
Перенаправление requeue
Проблема предпочтительного управления
Инструкция перенаправления очереди requeue
Цикл жизни задачи

Создание задачи
Активация задачи
Завершение задачи
Прерывания
Модель прерываний Ады
Защищенные процедуры обработки прерываний
Пакет Ada.Interrupts
Приоритеты
Интерфейс с другими языками
Связь с другими языками в Ada83

Связь с другими языками в Ada95
Директивы компилятора
Интерфейсные пакеты
Взаимодействие с программами написанными на C
Численные и символьные типы
Строки языка C
Примеры организации взаимодействия с C
Низкоуровневые средства для системного программирования
Спецификация внутреннего представления данных
Привязка объекта к фиксированному адресу памяти

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