gpt4 book ai didi

delphi - delphi 有一些 "fast"运算符吗? (+=,-=,...)

转载 作者:行者123 更新时间:2023-12-03 15:36:55 24 4
gpt4 key购买 nike

非常简单的问题,但我在谷歌上找不到答案

在delphi中,有没有办法缩短这种代码:

MyVar := MyVar + X;

就像在 C++ 中一样,我会这样做 MyVar += X;。鉴于它是多么微不足道和有用,一定有办法,但我在任何地方都找不到任何选择......

感谢您的帮助

最佳答案

您在寻找“快”还是运算符?正如建议的,IncDec 在功能和长度上与 +=-= 最接近,但是在某些情况下它们也更快。如果您打开了范围检查,那么它们比调用 x := x + 1;

更快

这是打开范围检查的反汇编,其中所有变量都是Inc(MyVar, x)的字节(最大值$ff)

// Inc(MyVar, x);
add bl, x

这里是 x := x + 1;

// x := x + 1;
movzx eax,bl
movzx edx, x
add eax,edx
cmp eax,$000000ff
jbe success
call @BoundErr
success:
mov ebx,eax

即使没有范围检查失败,您也可以看到差异。

但是,如果您打开溢出检查,Inc 仍会受到该开销的影响。

关于delphi - delphi 有一些 "fast"运算符吗? (+=,-=,...),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1656110/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com