
минимальная программа:
- Код: Выделить всё
program float_overflow;
{$mode objfpc}{$H+}
uses
{$IFDEF UNIX}{$IFDEF UseCThreads}
cthreads,
{$ENDIF}{$ENDIF}
Classes
{ you can add units after this };
var
z: single = 0.0;
b: single = 1.0e30;
c: single = 1.0e30;
begin
z:= b*c;
writeln(z);
readln;
end.
на ubuntu вот такое:
- Код: Выделить всё
yr@E525:~/ME/projects/lazarus/test1$ ./float_overflow
An unhandled exception occurred at $000000000040109B:
EDivByZero: Division by zero
$000000000040109B
на виндовс 10 x64 (fpc 3.2) все как в аптеке:
- Код: Выделить всё
E:\tmp\pas_tests>float_overflow.exe
An unhandled exception occurred at $00000001000016DA:
EOverflow: Floating point overflow
$00000001000016DA main, line 16 of float_overflow.lpr
почему так?