Лучшие вопросы
Таймлайн
Чат
Перспективы

Директива (программирование)

специальная команда, указывающая компилятору на особенности обработки кода при компиляции Из Википедии, свободной энциклопедии

Remove ads

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

Remove ads

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

В языке ассемблера директивы указывают общую информацию, такую как целевая среда, указание границ между секциями и так далее. Например, директива «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) — вызов препроцессора Си.

См. также

Примечания

Ссылки

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads