Spec-Zone.ru › Ada 95
Справочник Ada 95

E.2.1 Модули общих пассивных библиотек

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

Синтаксис

Форма псевдодирективы Shared_Passive выглядит следующим образом:
pragma Shared_Passive[(имя_модуля_библиотекиимя)];

Правила легальности

Модуль общей пассивной библиотеки — это модуль библиотеки, к которому применена псевдодиректива Shared_Passive. На такие модули библиотеки распространяются следующие ограничения:
  • он должен быть предварительно вычисляемым (см. 10.2.1);
  • он должен семантически зависеть только от объявленных чистых или общих пассивных модулей библиотеки;
  • он не должен содержать объявление типа доступа на уровне библиотеки, которое обозначает тип всего класса, тип задачи или защищённый тип со объявлением входа (entry_declaration).
Несмотря на определение доступности, данное в 3.10.2, объявление модуля библиотеки P1 недоступно внутри области объявления модуля общей пассивной библиотеки P2, если модуль общей пассивной библиотеки P2 не зависит семантически от P1.

Статическая семантика

Модуль общей пассивной библиотеки предварительно вычисляется.

Правила после компиляции

Модуль общей пассивной библиотеки должен быть назначен не более чем одному разделу в рамках данной программы.
Несмотря на правило, указанное в 10.2, модуль компиляции в данном разделе не требует (в смысле 10.2) модулей общих пассивных библиотек, от которых он семантически зависит, для включения в тот же раздел; они, как правило, будут находиться в отдельных пассивных разделах.


Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API