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

13.2 Директива Pack

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

Синтаксис

Форма директивы Pack следующая:
pragma Pack(first_subtype_local_name);

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

Идентификатор first_subtype_local_name в директиве Pack должен обозначать составной подтип.

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

Директива Pack определяет аспект упаковки представления; тип (или его часть расширения) считается упакованным. Для расширения типа родительская часть упаковывается как и в родительском типе, и директива Pack приводит к упаковке только части расширения.

Рекомендации по реализации

Если тип упакован, то реализация должна стремиться минимизировать место, занимаемое объектами этого типа, возможно, за счет снижения скорости доступа к компонентам, при условии разумной сложности вычислений адресации.
Рекомендуемый уровень поддержки директивы Pack:
  • Для упакованного типа записи компоненты должны быть упакованы как можно плотнее, с учетом размеров подтипов компонентов и любой применимой record_representation_clause для типа; реализация может, но не обязана, переупорядочивать компоненты или переходить через выровненные пограничные слова, чтобы улучшить упаковку. Компонент, размер которого больше размера слова, может быть выделен целым числом слов.
  • Для упакованного типа массива, если размер подтипа компонента меньше или равен размеру слова, и Component_Size не указан для типа, Component_Size должен быть меньше или равен размеру подтипа компонента, округленному до ближайшего кратного размеру слова.


Spec-Zone.ru

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