【发布时间】:2015-04-22 03:19:47
【问题描述】:
正如在其他 SO 问题中所回答的那样,现代 Delphi 终于支持编译器内在函数,如 AtomicIncrement。
是否有某个地方列出了在哪个版本的 Delphi 中引入了哪个内部函数,以便我可以使用 {$if CompilerVersion ...} 来保持代码向后兼容(使用内联 asm)并为未来的编译器提供更清洁的功能?
【问题讨论】:
-
您可以将 {$IFDEF NEXTGEN} 用于 AtomicIncrement、AtomicCmpExchange、AtomicExchange 和 AtomicDecrement。
-
@LURD 然后你会拒绝自己在桌面平台上使用它们的能力,这将是一种耻辱
-
@DavidHeffernan,我知道。我只是参考文档:
In a multi-platform application, atomic intrinsics can be used inside {$IFDEF} for either the AUTOREFCOUNT or NEXTGEN conditional.Use Atomic Instrinsics Instead of Assembly Language。 -
@LURD 我可以看到该文档。这很古怪。内在原子函数是桌面平台上的最佳选择。
-
每个版本在系统中的"{需要编译魔法的过程和函数}"部分都有一个列表。
标签: delphi intrinsics