谁能给我提供一些简单的工作示例来说明 Ada 2005 中编译指示的使用?我知道编译指示用于优先级过程,只是我还没有遇到过工作示例!

非常感激 !

有帮助吗?

解决方案

搜索 comp.lang.ada 最近的讨论 priorities 有几个有趣的例子。 这个 似乎特别适合你的问题。

附录:另外两个示例性来源是 Ada 95 的基本原理Ada 2005 的基本原理

其他提示

这是阿达编译指示是一种语言的功能,允许调整或微调的阿达程序的行为。一些编译指示的由Ada语言标准定义的,但是编译器厂商也可以定义他们自己的。

编译指示的主题覆盖远远不止过程[任务]重点,这里有一个列表签出。

究竟什么是你想用编译指示的帮助呢?设置任务优先级?

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

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

   entry Start;

end Prioritized_Task;

与阿达多的,我觉得这里的最好的答案是真正的咨询LRM 。有关管理任务优先级的部分其实很可读,对于语言标准清晰度无论如何。

请注意,您还可以设置任务的优先级在不使用编译的运行。这使得使用包Ada.Dynamic_Priorities的。这就是我通常做这些天,除非出于某种奇怪的原因所需的优先级是在编译时已知的,我不介意硬编码。

我强烈建议高级用户如自己捅的LRM,看看所有的语言为您提供。要特别注意附件(切片以字母开头),因为这是大多数的好东西被记录在案。在你的情况,你可能会特别感兴趣的实时附件(附件d)的

是的,我看到这一个用于常闭编译器约占未参考的变量中的步骤:

pragma Unreferenced(Variable);
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top