Articulo de referencia

Etiqueta (programación)

En programación , una etiqueta es un argumento de una subrutina que determina otros argumentos que se le pasan, y se utiliza para pasar un número indefinido de parámetros etique...

En programación , una etiqueta es un argumento de una subrutina que determina otros argumentos que se le pasan, y se utiliza para pasar un número indefinido de parámetros etiquetados a la subrutina; cabe destacar que las etiquetas se utilizan para varias llamadas al sistema en AmigaOS v2.0 y versiones posteriores.

En AmigaOS

En versiones anteriores de AmigaOS , si una llamada al sistema requería establecer un gran número de parámetros, en lugar de pasarlos como argumentos de la función, esta requería un puntero a una estructura que contenía los argumentos (por ejemplo, la función intuition.libraryOpenWindow() requería struct NewWindow17 parámetros diferentes). Las etiquetas se introdujeron en AmigaOS 2.0 porque "permiten añadir nuevos parámetros a las funciones del sistema sin interferir con los parámetros originales. Además, hacen que especificar listas de parámetros sea mucho más claro y sencillo". [ 1 ]

Varias bibliotecas de software de terceros para AmigaOS también utilizan etiquetas de forma extensiva.

Ejemplo

El código sin etiquetas es confuso (por ejemplo, 0, 1definir los colores de la ventana), mientras que el código con etiquetas se explica por sí mismo. Se deben definir menos parámetros con etiquetas que en la estructura, ya que OpenWindowTags utilizará los parámetros predeterminados.

Implementación

AmigaOS proporciona funciones para el manejo de etiquetas utility.library. En particular, Amiga E ofrece mecanismos para el manejo dinámico de etiquetas, lo que permite a los programas manipular estructuras cuyas etiquetas se desconocen hasta el tiempo de ejecución. Esto se logra mediante diversas estructuras de datos dinámicas y funciones asociadas.

En general

Una ventaja de las etiquetas es que facilitan el trabajo con argumentos predeterminados, ya que el programador no tiene que especificarlos ni sus sustitutos. De esto se deriva otra ventaja: la facilidad para lograr compatibilidad tanto hacia adelante como hacia atrás con bibliotecas externas . Un programa escrito para una versión anterior de la biblioteca funcionará con una versión más reciente, ya que esta última simplemente establecerá todos los parámetros no proporcionados por el programa a sus valores predeterminados; y un programa escrito para una versión más reciente de la biblioteca seguirá funcionando con la versión anterior, ya que esta última simplemente ignorará las etiquetas recién introducidas.

Una desventaja de las etiquetas es que su procesamiento es más lento que simplemente leer datos de una estructura o de la pila . Además, se pierde la verificación de tipos en tiempo de compilación .

Véase también

Referencias

  1. ^ Manual de referencia de Amiga ROM Kernal: Bibliotecas (3ª  ed.). pag.  867.ISBN 0-201-56774-1.
  • biblioteca de utilidades autodoc
  • Manual de referencia del kernel de la ROM de Amiga: Bibliotecas - Índice de etiquetas