- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我遇到这个编译器错误
function std::atomic::is_lock_free() const: error: undefined reference to '__atomic_is_lock_free'
when compiling code like below using gcc 4.7.2 on linux.
struct S {
int a;
int b;
};
std::atomic<S> s;
cout << s.is_lock_free() << endl;
最佳答案
Atomic API isn't complete in GCC 4.7:
- When lock free instructions are not available (either through hardware or OS support) atomic operations are left as function calls to be resolved by a library. Due to time constraints and an API which is not finalized, there is no libatomic supplied with GCC 4.7. This is easily determined by encountering unsatisfied external symbols beginning with
__atomic_*
.
由于 GCC 4.7 没有附带 libatomic
,您需要使用另一个编译器,它实际上支持您想要的功能或提供缺少的功能 (sample implementation)。
关于c++ - is_lock_free 未在 gcc 4.7.2 的 std::atomic<T> 中定义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15204060/
is_lock_free 需要一个实例(它是一个成员函数)的原因是什么?为什么不是该类型的元函数或静态 constexpr 成员函数? 我正在寻找一个实际的例子来说明为什么它是必要的。 最佳答案 标准
is_lock_free 需要实例(它是成员函数)的原因是什么?为什么不是该类型的元函数,或者静态 constexpr 成员函数? 我正在寻找一个实际的例子来说明为什么它是必要的。 最佳答案 标准允许
谁能告诉我std::atomic::is_lock_free()是否像constexpr一样不是静态的?使它为非静态和/或为非constexpr对我来说没有任何意义。 最佳答案 如cppreferen
一点C++11的代码: #include #include struct A { int a[4]; }; struct B { int x, y; }; int main() { std::
以前,在 Apple LLVM 9.1.0 中,128 位结构上的 is_lock_free() 已返回 true。为了获得完整的 std::optional 支持,我随后升级到 MacPorts g
我遇到这个编译器错误 function std::atomic::is_lock_free() const: error: undefined reference to '__atomic_is_lo
我是一名优秀的程序员,十分优秀!