我遇到了挂起异常的ADA程序问题。下面是我与Ada程序挂起异常,gnatmake
$ 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
我是窝确定是否有其他人在ADA程序下编译了gnatmake版本4.8.3下挂载的任何类型的异常?我的ADA代码有问题吗?我的安装有问题吗?我正在cygwin上运行代码。
谢谢。