Pregunta

Can mí suministro de cualquier persona con ejemplos de trabajo sencillos que ilustran el uso de pragmas en Ada 2005? Entiendo que pragmas se utilizan para los procesos de prioridades, solo que no he encontrado ejemplos de trabajo!

muy apreciada!

¿Fue útil?

Solución

Una búsqueda en comp.lang.ada para discusiones recientes sobre priorities tiene varios ejemplos interesantes. Éste parece particularmente a propósito a su pregunta.

Adición: Otras dos fuentes ejemplares son la Justificación de Ada 95 y Justificación de Ada 2005

Otros consejos

Una Ada Pragma es una característica del lenguaje que permite ajustar o afinar el comportamiento de un programa de Ada. Un número de pragmas se definen por la norma lenguaje Ada, pero los fabricantes de compiladores también puede definir su propia cuenta.

El tema de pragmas cubre mucho más que simplemente proceso [tarea] prioridades, he aquí una lista de de pragmas estándar y proporcionados por el proveedor a la salida.

¿Qué es exactamente estás tratando de hacer con la ayuda de pragmas? prioridades de tareas conjunto?

-- Not compile checked:
with System; use System;

task Prioritized_Task is
   pragma Priority(System.Default_Priority + 1);

   entry Start;

end Prioritized_Task;

Como con la mayor parte de Ada, creo que la mejor respuesta aquí es realmente a consultar el LRM . El sección sobre la gestión de prioridades de las tareas en realidad es muy fácil de leer , para una definición estándar del lenguaje de todos modos.

Tenga en cuenta que también puede establecer la prioridad de una tarea en tiempo de ejecución sin el uso de un pragma. Esto hace que el uso de la Ada.Dynamic_Priorities paquete. Esto es lo que suelen hacer en estos días, a menos que por alguna extraña razón se conoce la prioridad deseada en tiempo de compilación, y no me importa que codificantes duro.

I altamente sugieren que los usuarios avanzados, tales como a ti mismo asoman por los LRM a ver lo que todo el idioma que ofrece. Prestar especial atención a los anexos (la sección que empieza con una letra), ya que es donde la mayor parte del material de buena documentada. En su caso, es probable que va a estar interesado en particular en el tiempo real anexo (anexo D).

Sí, veo esto se utiliza a menudo para cerrar el compilador arriba sobre las variables referenciados en un procedimiento:

pragma Unreferenced(Variable);
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top