0
我想制作一个整数数组,它是在任务内部访问的。 with CPU=>CPUs(1)
不起作用,因为根本不工作任何表达式。尽管如此,纯整数工作正常。为什么我不能动态设置CPU在Ada中执行任务?
procedure Lab1 is
n: Integer:=222;
CPUs: array (1..3) of Integer := (1, 1, 1);
pri: array (1..3) of Integer := (1, 5, 10);
task T3
with CPU=>1+1
is
pragma Priority(pri(1));
pragma Task_Name ("T3");
end T3;
task body T3 is
int1:Integer:=generate_random_number(4)+n;
我读that它应该是可能的。
给予处理器任务的表达式可以是动态的。
添加use System.Multiprocessors.CPU_Range;
给我:
Lab1.ada:20:05: “系统” 是不可见的Lab1.ada:20:05:不可见 在system.ads:37声明Lab1.ada:22:11:警告:文件名 与单元名称不匹配,应为“lab1.adb”Lab1.ada:30:14:运算符为 类型“System.Multiprocessors.CPU_Range”不能直接可见 Lab1.ada:30:14:使用条款将使操作合法