Delphi在使用int64时遇到了问题。我正在使用XE7。以下是64位Windows目标显示的问题:
var x : int64;
begin
x := 1;
repeat
x := 3 * x;
writeln( x);
until false;
当它溢出时,不是让你在线上发生溢出,而是打开系统单元并且在线上
system procedure _IntOver;
这使得追踪int64溢出非常困难。就像我说的,我正在使用XE7 - 它是否已在当前版本中修复?
答案 0 :(得分:1)
这不是一个缺陷,这就是功能的实现方式。编译器使用运行时库中的辅助函数来引发溢出异常。这就是功能的设计方式。
您可以使用调用堆栈查找导致错误的代码行。如果要在该行代码上使调试器中断,则应取消选中使用debug .dcus 选项。