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



         

Создание Ада-библиотеки


В среде системы компилятора GNAT любая библиотека состоиз из двух компонентов:

Файлы с исходными текстами.

  • Скомпилированный код и ALI-файлы (Ada Library Information files)

    Согласно требований системы компилятора GNAT, при использовании других пакетов необходимо, чтобы некоторые исходные тексты были доступны компилятору.

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

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

    Хотя это не является строго необходимым требованием, рекомендуется, чтобы пользователю были доступны все исходные тексты, которые необходимы для перекомпиляции библиотеки.

    В результате этого пользователю предоставляются исчерпывающие возможности в использовании межмодульных встроенных вставок (inline) и в осуществлении полноценной отладки на уровне исходных текстов.

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

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

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

    Кроме того, возможно объединение всех объектных файлов в едином библиотечном архиве с помощью какой-либо команды, которая предусматривается в используемой операционной системе.

    И, наконец, возможно создание динамически загружаемой библиотеки (см. использование опции -shared в справочном руководстве по GCC).

    Существует множество способов компиляции модулей, совокупность которых формирует библиотеку.

    Например, это можно выполнить с помощью написания файла управления сборкой проекта Makefile




    Содержание  Назад  Вперед