請看看下面的代碼不能用於文件
Formula.ads
package Formula is
procedure CalculateFormula;
end Formula;
Formula.adb
with Ada.Text_IO; use Ada.Text_IO;
with Formula; use Formula;
package body Formula is
procedure CalculateFormula is
package fom_io is new Ada.Float_Text_IO(Float);
use fom_io;
u : Float;
t : Float;
a : Float;
answer : Float;
begin
put_line("Enter 'U'");
get(u);
put_line("Enter 'T'");
get(t);
put_line("Enter 'A'");
get(a);
answer = (u*t)+ 0.5(a(t*t));
put("Answer is: ");
put(answer,Fore => 1,Aft => 1,Exp => 1);
end CalclualeFormula;
end Formula;
當我運行這段代碼生成代碼,我收到以下錯誤
gnatmake -d -PC:\Users\yohan\Documents\Ada\Formula\formula.gpr
gcc -c -I- -gnatA C:\Users\yohan\Documents\Ada\Formula\formula.ads
cannot generate code for file formula.ads (package spec)
gnatmake: "C:\Users\yohan\Documents\Ada\Formula\formula.ads" compilation error
[2013-04-06 03:18:22] process exited with status 4 (elapsed time: 00.22s)
我對Ada很新。開始編碼幾個小時後。請幫我擺脫上述問題。謝謝。
編輯
formula.gpr
project Formula is
for Main use ("formula.ads");
end Formula;
我想我們需要看你的.gpr文件。但有幾點:包體不需要「與」它自己的規範。雖然你可以編譯一個.ads文件(spec)來檢查語法,但是你不能從它生成代碼,這就是msg發出的錯誤信息。通常情況下,您只需編譯主程序單元,並且所有必要的軟件包編譯都是自動完成的。 – 2013-04-05 21:56:15
@BrianDrummond:謝謝你的回覆。請參閱編輯 – 2013-04-05 22:02:50
@BrianDrummond:感謝您的回覆。請參閱編輯 – 2013-04-05 22:08:03