Ограничение возможностей языка
Ограничение возможностей языка
Существует несколько директив компилятора, которые позволяют накладывать ограничения на использование в программе некоторых возможностей языка.Такие директивы компилятора могут быть использованы для принудительной установки каких-либо специфических правил и выдачи программисту предупреждающих сообщений, когда эти правила нарушаются.Например, в случае написания программы реального времени, может возникнуть необходимость в отключении средств Ады которые обладают неопределенным временем реакции (или отклика).В результате этого, программа не будет иметь случайных задержек во время своего выполнения.
Директивами компилятора, которые управляют ограничением средств языка являются:
Ada_83 | - |
Запретить использование средств стандарта Ada 95 |
Ada_95 | - | Разрешить использование средств стандарта Ada 95 (установлено по умолчанию) |
Controlled | - | Отключить "сборку мусора" (garbage collection) для указанного типа данных. Реально, это не воздействует на GNAT, поскольку он не обеспечивает средств "сборки мусора". |
Ravanscar | - | Принудительная установка ограничений реального времени, которые соответствуют требованиям Ravanscar. |
Restricted_Run_Time | - | Подобна директиве Ravanscar. |
Restrictions | - | Отключает некоторые средства языка. |
Следует заметить, что директива компилятора No_Run_Time также является директивой установки ограничений, поскольку осуществляет принудительное отключение использования библиотеки времени выполнения Ады.
Более подробная информация об использовании этих директив компилятора
находится в документации компилятора GNAT.
Содержание раздела