【发布时间】:2015-01-11 21:10:11
【问题描述】:
我遇到了一个挂起异常的 ADA 程序的问题。下面是我正在编译的测试程序
$ gnatmake divide_by_zero.adb
gcc -c divide_by_zero.adb
divide_by_zero.adb:6:19: warning: division by zero
divide_by_zero.adb:6:19: warning: "Constraint_Error" will be raised at run time
gnatbind -x divide_by_zero.ali
gnatlink divide_by_zero.ali
我的 gnatmake 版本是
$ gnatmake --version
GNATMAKE 4.8.3
divide_by_zero.adb的内容是
$ cat divide_by_zero.adb
procedure divide_by_zero is
result : Integer;
denominator : Integer;
begin
denominator := 0;
result := 1 / denominator;
end divide_by_zero;
程序执行的输出是
$ ./divide_by_zero.exe
raised CONSTRAINT_ERROR : divide_by_zero.adb:6 divide by zero
** Program hangs, Ctrl-C does nothing, Ctrl-D does nothing
** I have to go to Task Manager to stop divide_by_zero.exe
我想知道是否有其他人对在 gnatmake 版本 4.8.3 下编译的 ADA 程序遇到 any 类型的异常有问题?我的 ADA 代码有问题吗?我的安装有问题吗?我目前正在 cygwin 上运行代码。
谢谢。
【问题讨论】: