是否有版本的Delphi所有编译器内在函数的列表?

Rit*_*tra 3 delphi intrinsics

正如在其他SO问题中所回答的那样,现代Delphi最终支持编译器内部函数AtomicIncrement.

在某个地方有一个列表,其中的内部函数是在哪个版本的Delphi中引入的,因此我可以使用它{$if CompilerVersion ...}来保持代码向后兼容(使用内联asm)和更清晰的未来编译器?

Dav*_*nan 5

好吧,你可以使用文档,但我不能保证它的准确性.

事实上,这个内在函数列表是不完整的.它没有你感兴趣的功能.这是一种耻辱.如果您想知道这些特定功能的添加版本,那么您肯定可以解决这个问题.如果您想要一个涵盖每个功能的官方列表,那么它似乎不存在.我想你必须要么没有它,要么创建列表.

回到文档,您可以考虑以下列表:

看看最后两个.XE3链接有信息,XE2链接为空.这表明在XE3中添加了此功能.快速测试证实了这一点.

鉴于官方文档缺乏可靠性,您是否准备信任它?

所以,我的建议是你自己测试一下.这样做的好处是您可以确定您的代码是正确的.

  • 文档完全缺少XE7引入的新内在函数,如`GetTypeKind`,`IsManaged`或`HasWeakRef`及其效果. (2认同)