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

Ограничение возможностей языка


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

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

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

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

Директивами компилятора, которые управляют ограничением средств языка являются:



Ada_83  -  Запретить использование средств стандарта Ada 95
Ada_95  -  Разрешить использование средств стандарта Ada 95 (установлено по умолчанию)
Controlled  -  Отключить "сборку мусора" (garbage collection) для указанного типа данных. Реально, это не воздействует на GNAT, поскольку он не обеспечивает средств "сборки мусора".
Ravanscar  -  Принудительная установка ограничений реального времени, которые соответствуют требованиям Ravanscar.
Restricted_Run_Time  -  Подобна директиве Ravanscar.
Restrictions  -  Отключает некоторые средства языка.

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

Более подробная информация об использовании этих директив компилятора находится в документации компилятора GNAT.

Copyright (C) А.Гавва V-0.4w май 2004



Содержание раздела