WikiSort.ru - Программирование

ПОИСК ПО САЙТУ | о проекте

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

Язык ассемблера

В языке ассемблера директивы указывают общую информацию, такую как целевая среда, указание границ между секциями и так далее. Например, директива «ALIGN», которая вставляет в текущую секцию необходимое количество байт для выравнивания строк, часто упоминаемая как «директива», противоречит тому факту, что она совпадает с частями конструкций в генерируемом коде.

Препроцессор Си

В языки программирования C и C++ встроена поддержка препроцессора. Строки в исходном коде, которые должны быть обработаны препроцессором в виде #define и #include, называются препроцессорными директивами.

В других языках высокого уровня

Синтаксические конструкции, похожие на препроцессорные директивы языка Си, такие как #region в языке C#, также часто называются «директивами», хотя в указанных случаях стадии обработки препроцессором может и не быть.

В языке Ада директивы компилятора называются прагмами (сокращение от «pragmatic information» («полезная информация»)).

В Паскале директивы называются указательными комментариями из-за того, что по синтаксису похожи на комментарии. В Паскале указательный комментарий — это комментарий, у которого первым символом указан знак доллара; например, аналогом директивы #include "file" языка Си будет указательный комментарий {$I "file"}.

В Perl ключевое слово «use» («применять») можно использовать как «прагму», например use strict; или use utf8;. Такая конструкция иногда может упоминаться как «директива». Тем не менее, в некоторых источниках[1] используется термин «директивы Perl» для обозначения конструкций типа Шебанг.

В языке Haskell есть собственный набор прагм. Они позволяют включать расширения языка, передавать параметры компиляции, также есть специальные прагмы. Например {-# INLINE #-}, {-# NOINLINE #-} указывают компилятору что нужно/не нужно встраивать функцию (аналог ключевого слова inline в Си). {-# UNBOXED #-} позволяет хранить данные без служебной информации (эффективность по памяти в ущерб гибкости использования). {-# SPECIALIZE #-} используется для переопределения специальных представителей класса типов в исключительных ситуациях. Есть также расширения HPP — собственный препроцессор Haskell и CPP (C PreProcessor) — вызов препроцессора Си.

См. также

Примечания

Ссылки

Данная страница на сайте WikiSort.ru содержит текст со страницы сайта "Википедия".

Если Вы хотите её отредактировать, то можете сделать это на странице редактирования в Википедии.

Если сделанные Вами правки не будут кем-нибудь удалены, то через несколько дней они появятся на сайте WikiSort.ru .




Текст в блоке "Читать" взят с сайта "Википедия" и доступен по лицензии Creative Commons Attribution-ShareAlike; в отдельных случаях могут действовать дополнительные условия.

Другой контент может иметь иную лицензию. Перед использованием материалов сайта WikiSort.ru внимательно изучите правила лицензирования конкретных элементов наполнения сайта.

2019-2024
WikiSort.ru - проект по пересортировке и дополнению контента Википедии