Der*_*rek 5 c++ gcc atomic c++11
我遇到这个编译错误
function std::atomic::is_lock_free() const: error: undefined reference to '__atomic_is_lock_free'
在Linux上使用gcc 4.7.2编译代码如下所示.
struct S {
int a;
int b;
};
std::atomic<S> s;
cout << s.is_lock_free() << endl;
Run Code Online (Sandbox Code Playgroud)
Zet*_*eta 11
- 当无锁指令不可用时(通过硬件或OS支持),原子操作留作函数调用以由库解析.由于时间限制和API尚未最终确定,因此没有GCC 4.7提供的libatomic.这很容易通过遇到不满意的外部符号来确定
__atomic_*.
由于libatomicGCC 4.7 没有附带,您需要使用另一个实际支持您想要的功能的编译器或提供缺少的功能(示例实现).
| 归档时间: |
|
| 查看次数: |
2434 次 |
| 最近记录: |