【问题标题】:Swift 3: atomic_compare_exchange_strong斯威夫特 3: atomic_compare_exchange_strong
【发布时间】:2016-09-06 19:56:54
【问题描述】:

在 Xcode 8 / Swift 3 中收到以下警告:

warning: 'OSAtomicCompareAndSwap32Barrier' was deprecated in OS X 10.12:
         Use atomic_compare_exchange_strong() from <stdatomic.h> instead

尝试在 Swift 代码中使用函数 atomic_compare_exchange_strong 导致编译器错误:

error: use of unresolved identifier 'atomic_compare_exchange_strong'

导入DarwinCoreFoundation 模块并不能解决问题。

我应该导入什么模块来获取atomic_compare_exchange_strong 的符号?

谢谢!

【问题讨论】:

  • 我会在桥接头中说import Darwin.C.stdatomic - 甚至#include &lt;stdatomic.h&gt;,但是当我测试它时它不会带来atomic_compare_exchange_strong。我看到了openradar.appspot.com/27161329,所以也许它还没有。
  • 那么这是否意味着 APPLE 现在正在强迫我们进入标准库?不好。

标签: swift atomic


【解决方案1】:

我知道这是 Swift 3 的问题,但如果有人偶然发现这个问题,现在有一个 Swift Atomics package (introduced in Oct 2020) 可用于此功能。

【讨论】:

    猜你喜欢
    • 2017-03-24
    • 1970-01-01
    • 2017-02-15
    • 1970-01-01
    • 2017-07-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-08
    相关资源
    最近更新 更多