[英]atomic<int> for older c++ compilers
我在我的代码中使用atomic<int>
,但是现在我正在编译的机器有一个旧的g ++版本,它不支持C ++ 11。 网上是否有可用的等效类,以便我可以在我的代码中使用它,或者如果没有,我可以在那里找到atomic<int>
的C ++ 11实现,这样我就可以从那里复制它。 这可以轻松完成吗?
提议的(即非官方的) Boost.Atomic库旨在实现这一目标。 我不知道它目前处于什么状态,但它用于最近( 官方 )接受的Boost.Lockfree库的实现,所以可能它是可用的。
编辑 - 更新链接,现在Atomic和Lockfree已经正式进入Boost一段时间了:
Boost.Atomic
Boost.Lockfree
Hans Boehm的原子操作库虽然很好,但很难确定各种平台上的可用内容。
如果你对LGPL没问题, 英特尔TBB也有你想要的东西(加上很多其他的东西)。
如果您只关注GCC,那么您可以通过使用GCC的内在函数来逃避(我不确定那些出现在哪个版本的GCC,但它们已经存在了一段时间)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.