Delphi的InterLockedIncrement函数为何不支持第二个参数来指定初始值?

2026-04-10 19:101阅读0评论SEO问题
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计220个文字,预计阅读时间需要1分钟。

Delphi的InterLockedIncrement函数为何不支持第二个参数来指定初始值?

我想使用`InterLockedIncrement(counter, step)`,但编译器提示参数过多。是否有用于获取第二个参数的API?您正在寻找的Windows函数名为`InterlockedAdd`。我不太相信Delphi的RTL提供了此功能,可能是因为它实现的方式。

我想要做

InterLockedIncrement(counter, step)

但编译说

参数太多了

是否有用于获取第二个参数的API?

您正在寻找的Windows函数名为 InterlockedAdd.但我不相信Delphi的RTL提供此功能,可能是因为它实际上是作为MS工具链内在的编译器实现的.

还有TInterlocked.Add可以满足您的需求.

但我认为最好的选择是内在功能AtomicIncrement.这样称呼它:

AtomicIncrement(SomeVar, SomeAddend);

内在的优点是:

>它是跨平台的.>它内联,因此避免了函数调用的成本.

Delphi的InterLockedIncrement函数为何不支持第二个参数来指定初始值?

本文共计220个文字,预计阅读时间需要1分钟。

Delphi的InterLockedIncrement函数为何不支持第二个参数来指定初始值?

我想使用`InterLockedIncrement(counter, step)`,但编译器提示参数过多。是否有用于获取第二个参数的API?您正在寻找的Windows函数名为`InterlockedAdd`。我不太相信Delphi的RTL提供了此功能,可能是因为它实现的方式。

我想要做

InterLockedIncrement(counter, step)

但编译说

参数太多了

是否有用于获取第二个参数的API?

您正在寻找的Windows函数名为 InterlockedAdd.但我不相信Delphi的RTL提供此功能,可能是因为它实际上是作为MS工具链内在的编译器实现的.

还有TInterlocked.Add可以满足您的需求.

但我认为最好的选择是内在功能AtomicIncrement.这样称呼它:

AtomicIncrement(SomeVar, SomeAddend);

内在的优点是:

>它是跨平台的.>它内联,因此避免了函数调用的成本.

Delphi的InterLockedIncrement函数为何不支持第二个参数来指定初始值?