如何在SPARK Ada中實例化非庫級軟件包?在SPARK Ada中實例化非庫級軟件包
說我有這樣的:
subtype Die is Integer range 1..6;
package Random_Die
is
new Ada.Numerics.Discrete_Random(Die);
這給了我的錯誤:
instantiation error at a-nudira.ads.45
incorrect placement of "Spark_Mode"
Random_Die is not a libray level package
大概我需要打開SPARK_Mode關閉Ada.Numerics.Discrete_Random,但我不能工作出正確的地方放置雜注。
SPARK_Mode * I *的唯一提及是包含我引用的代碼的整個包上的SPARK_Mode => On。錯誤消息指向a-nudira.ads.45,它表示SPARK_Mode => Off,但a- ndira.ads是GNAT發行版的標準庫模塊,而不是我自己的代碼。 – digitig
奇怪。那麼也許你應該簡單地按照要求去做,並且將'Ada.Numerics.Discrete_Random'的通用實例化成一個庫級包。 –