Ада-95. Компилятор GNAT

       

Возбуждение исключений

Возбуждение исключений
Обработка исключений
Обработчики исключений

Распространение исключений
Проблемы с областью видимости при обработке исключений определяемых пользователем
Пакет AdaExceptions
Принципы подавления исключений
Выполнение подавления исключений
Организация ввода/вывода
Текстовый ввод/вывод
Пакет AdaText_IO

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

Параметры командной строки
Переменные окружения программы
Ссылочные типы (указатели)
Ссылочные типы для динамической памяти

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

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

Примитивные и не примитивные операции над тэговыми типами Наследование операций
"Пустые" записи (null record) и расширения
Абстрактные типы и подпрограммы
Динамическое связывание и полиморфизм
Надклассовые типы (wide class types)

Проверка типа объекта во время выполнения программы
Динамическая диспетчеризация
Модель механизма диспетчеризации
Вызов переопределенной операции предка
Динамическая передиспетчеризация
Двойная диспетчеризация

Стандартные низкоуровневые средства, пакет AdaTags
Общие сведения
Управление динамическими объектами
Счетчик использования
Блокировка ресурса
Отладка контролируемых типов Некоторые рекомендации

Многозадачность
Типы и объекты задач
Инструкции задержки выполнения (delay statements)
Динамическое создание объектов задач
Принудительное завершение abort
Приоритеты задач
Взаимодействие задач
Концепция рандеву

Описание входов
Простое принятие обращений к входам
Простой вызов входа
Селекция принятия рандеву

Селекция вызова рандеву
Идентификация задач и атрибуты
Разделяемые (общие) переменные
Проблемы механизма рандеву
Защищенные типы и объекты Защищенные подпрограммы
Защищенные входы и барьеры

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

Цикл жизни задачи
Создание задачи
Активация задачи
Завершение задачи
Прерывания
Модель прерываний Ады
Защищенные процедуры обработки прерываний
Пакет AdaInterrupts

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

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