- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个大型的、面向任务的程序,我想探索变体调度程序策略。我正在使用 Gnat Ada 2020。特别是,我想使用 pragma 设置任务模型:pragma Task_Dispatching_Policy(Non_Preemptive_FIFO_Within_Priorities);
我认为我不太了解实际用法。我了解 pragma 的作用,但我很难正确放置 pragma,至少根据 GNAT 是这样。对于以下小程序中的各种放置组合,我总是收到错误:
“配置编译指示“Task_Dispatching_Policy”的位置不正确
我已经尝试过在整个编译单元之外、在任务类型规范中、在任务主体规范中等等。任何人都可以向我展示这个 pragma 的用法示例吗?谷歌搜索发现了很多讨论,但在源代码中没有实际使用示例。提前致谢。
with Ada.Text_IO; Use Ada.Text_Io;
procedure Test is
Task Type One is
End;
Task Type Two;
Task body One is
Begin
Loop
Put_line("Task one 11111111111111111");
End Loop;
End;
Task body Two is
Begin
Loop
Put_line("Task two 2222222222222222");
End Loop;
End;
a : One;
B : two;
begin
Null;
End;
正如下面所建议的,我在 UG 中找到了一些关于将编译指示放在“gnat.adc”文件中的内容,这似乎生效了,但并没有完全阻止切换,这正是我所期望的。我应该提到我在 Windows 10 环境中。
最佳答案
I am having difficulty placing the pragma correctly.
Task_Dispatching_Policy
pragma 是一个
configuration pragma必须“出现在
compilation_unit 的第一个
compilation 之前”。
at least according to GNAT.
Configuration pragmas may either appear at the start of a compilation unit, or they can appear in a configuration pragma file to apply to all compilations performed in a given compilation environment.
pragma Task_Dispatching_Policy(…);
with Ada.Text_IO; use Ada.Text_IO;
…
要更广泛地应用编译指示,请将其添加到
gnat.adc
如
§3.4.2. The Configuration Pragmas Files 中所述.
关于ada - pragma Task_Dispatching_Policy(Non_Preemptive_FIFO_Within_Priorities)的用法示例;,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67943882/
我有一个大型的、面向任务的程序,我想探索变体调度程序策略。我正在使用 Gnat Ada 2020。特别是,我想使用 pragma 设置任务模型:pragma Task_Dispatching_Poli
我是一名优秀的程序员,十分优秀!