为ARM64引入/forceInterlockedFunctions开关

为ARM64引入/forceInterlockedFunctions开关

💡 原文英文,约500词,阅读约需2分钟。
📝

内容提要

在Visual Studio 2022 17.14中,引入了/forceInterlockedFunctions开关,Armv8.0默认开启,Armv8.1+默认关闭。该开关生成不同的原子操作以解决Armv8.0的性能问题。启用LSE特性会覆盖默认设置,建议在ARM64EC中保持开启。

🎯

关键要点

  • 在Visual Studio 2022 17.14中引入了/forceInterlockedFunctions开关。
  • 该开关在Armv8.0中默认开启,在Armv8.1+中默认关闭。
  • 此开关生成不同的原子操作,以解决Armv8.0的性能问题。
  • Armv8.0的互锁内联使用的指令不保证前进,可能导致性能问题。
  • 启用LSE特性会覆盖Armv8.0的默认设置。
  • 该选项仅适用于Arm64,不适用时将被忽略。
  • 建议在ARM64EC中保持开启,以解决Arm64与x64之间的内存模型差异。
  • 该标志影响多个互锁内联函数的支持情况。
➡️

继续阅读