Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/asp.net-mvc-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
GPS中的Ada编程_Ada_Gnat Gps - Fatal编程技术网

GPS中的Ada编程

GPS中的Ada编程,ada,gnat-gps,Ada,Gnat Gps,我是一个既使用ada语言又使用GPS的初学者。我似乎找不到任何可靠的教程来帮助学习ada或GPS,但这不是我的问题 我尝试过各种简单的程序,比如: with Win32.crt.Math; with Interfaces.C; procedure sqrt is X : Interfaces.C.Double; begin X := Win32.crt.Math.sqrt(x => 4.0) ; end sqrt; 我尝试过其他类似的简单方法,并在网络上找到了其他更复杂的方法,而

我是一个既使用ada语言又使用GPS的初学者。我似乎找不到任何可靠的教程来帮助学习ada或GPS,但这不是我的问题

我尝试过各种简单的程序,比如:

with Win32.crt.Math;
with Interfaces.C;

procedure sqrt is
X : Interfaces.C.Double;
begin
   X := Win32.crt.Math.sqrt(x => 4.0) ;
end sqrt;
我尝试过其他类似的简单方法,并在网络上找到了其他更复杂的方法,而我只找到了一种有效的方法

无论如何,我在尝试构建时会遇到以下错误:

gnatmake -d -PC:\Users\bqw3960\Desktop\GPS2012\2-two\sqrt.gpr sqrt.adb

gnatbind -x sqrt.ali

gnatlink -o c:\users\bqw3960\desktop\gps2012\2-two\sqrt.exe sqrt.ali

C:\GNAT\Bindings\Win32Ada\win32-crt-math.o(.text+0x1a):win32-crt-math.adb: undefined 

reference to `__imp__HUGE'

gnatlink: cannot call C:\GNAT\bin\gcc.exe

gnatmake: *** link failed.

[2013-06-13 10:53:18] process exited with status 4 (elapsed time: 00.51s)
我认为这很简单,但我似乎无法理解

在我第一次更改某些内容后尝试编译时,有时也会遇到这样的情况:

gcc.exe: unrecognized option `-ws'

你的
sqrt.gpr
怎么说?我刚刚试过这个,然后
gnatlink
步骤说

gnatlink "C:\Documents and Settings\Simon\sqrt.ali" C:\GNAT\2012\lib\win32ada\static\libwin32ada.a -o "C:\Documents and Settings\Simon\sqrt.exe"
这和你的完全不同。。。而且成功了

我的
sqrt.gpr

with "win32ada";
project Sqrt is
   for Main use ("sqrt.adb");
end Sqrt;

这是因为您的sqrt过程仍在运行,并且您正在尝试同时编译解决方案和运行过程。暂停程序的执行,然后尝试编译。它应该按预期工作。

普通的旧程序是否编译和链接?安装Win32绑定似乎有点问题。是的,我只有一两个工作程序,hello world,然后是一个hello world,带有get(x)和while循环,让人猜一猜,这就是我所能做的工作。从Amazon上下载一本旧的Ada 95书籍,包括运费在内,你只需5美元就可以买到。对于深入的研究,你需要巴恩斯关于Ada 2005的书,没有办法。我的书看起来一样,只是没有第一行,我试着把它添加到那里,但它说“win32ada”是一个未知的项目文件我正在使用Windows XP。当我安装我从中获得的
win32ada
时,它说它找不到可用的Ada编译器,并要求我浏览到某个位置,为我提供
C:\GNATPRO
。我把它改为
C:\GNAT\2012
,它安装在那里(我看到你的等价物是
C:\GNAT
——你的编译器二进制文件在
C:\GNAT\bin
,我的在
C:\GNAT\2012\bin
),包括一个
win32ada.gpr
,在GNAT希望找到它的地方。没有
Bindings\Win32Ada
目录的痕迹;我想知道你是怎么到那里的?