boost :: atomic编译问题

时间:2012-11-30 05:07:45

标签: c++ boost atomic

我知道boost::atomic不是boost库的官方部分,但我已经看过它在stackoverflow上多次提到过,所以我想我会试一试。我应该在发布此帖之前说明我已经搜索过google,stackoverflow和boost::atomic的文档。

我从http://www.chaoticmind.net/~hcb/projects/boost.atomic/下载了boost::atomic并将其复制到我的boost文件夹中。但是,我遇到的问题实际上是在被包含之后进行编译,我认为代码中存在错误。导致问题的一个功能是这个

static inline void
                platform_fence_after_load(memory_order)
            {
                if (order == memory_order_seq_cst()) {
                    x86_full_fence(void);
                }
            }

第一个问题是order未定义,memory_order_seq_cst不是函数,x86_full_fence不应该将void作为参数。修复这些错误很容易,但我不确定它们是否是其他东西的症状。有没有人以前使用boost::atomic?它是否稳定,是否正常工作?最后,这些实际问题是boost::atomic还是我没有正确使用它?任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

我已经使用了很长时间它很稳定但是它在标题interlocked.hpp中有一些问题,其中一个问题由你解决并且很容易解决它而另一个是一个函数不是声明为inline,因此它会生成一个链接器错误,但在解决它们AFAIK后它真的没有任何问题