En programación, el término "directiva" (indicación) tiene un uso similar al término " comando ", y también se usa para describir algunas construcciones del lenguaje de programación (es decir, instrucciones para el compilador o ensamblador sobre las funciones de procesamiento durante la compilación).
En lenguaje ensamblador, las directivas especifican información general, como el entorno de destino, la especificación de límites entre secciones , etc. Por ejemplo, la directiva "ALIGN", que inserta el número requerido de bytes en la sección actual para alinear líneas, a menudo denominada "directiva", contradice el hecho de que coincide con partes de construcciones en el código generado.
Los lenguajes de programación C y C++ tienen soporte de preprocesador integrado. Las líneas del código fuente que debe procesar el preprocesador en el formulario #definese #includedenominan directivas de preprocesador .
Las construcciones sintácticas similares a las directivas de preprocesador de C, como las #regionde C# , también suelen denominarse "directivas", aunque en estos casos puede que no haya un paso de preprocesador.
En Ada , las directivas del compilador se denominan pragmas (abreviatura de "información pragmática").
En Pascal , las directivas se denominan comentarios de puntero porque son similares en sintaxis a los comentarios . En Pascal, un comentario descriptivo es un comentario cuyo primer carácter es un signo de dólar ; por ejemplo, el equivalente de una #include "file"directiva en lenguaje C sería un comentario descriptivo {$I "file"}.
En Perl , la palabra clave " use" ("aplicar") se puede utilizar como "pragma", como use strict;o use utf8;. Tal construcción a veces puede denominarse "directiva". Sin embargo, algunas fuentes [1] usan el término "directivas de Perl" para referirse a construcciones de tipo Shebang .
Haskell tiene su propio conjunto de pragmas. Le permiten incluir extensiones de idioma, pasar opciones de compilación y también hay pragmas especiales. Por ejemplo {-# INLINE #-}, {-# NOINLINE #-}le indican al compilador que es necesario/no necesario insertar una función (análogo a una palabra clave inlineen C). {-# UNBOXED #-} le permite almacenar datos sin sobrecarga (eficiencia de la memoria a expensas de la flexibilidad). {-# SPECIALIZE #-}se utiliza para anular los representantes especiales de una clase de tipo en situaciones excepcionales. También hay extensiones HPP, el propio preprocesador de Haskell y CPP (C PreProcessor), que llaman al preprocesador C.