2

我知道这boost::atomic不是 boost 库的官方部分,但我已经看到它在 stackoverflow 上被多次引用,所以我想我会试一试。我应该先说boost::atomic在发布之前我已经搜索了 google、stackoverflow 和文档。

boost::atomichttp://www.chaoticmind.net/~hcb/projects/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还是我根本没有正确使用它?任何帮助,将不胜感激。

4

1 回答 1

1

我已经用了很长时间了,它很稳定,但是在标题中存在一些问题interlocked.hpp,其中一个问题由您解决并且很容易解决,另一个是一个函数没有声明为inline,所以它会生成一个链接器错误,但是在解决它们之后,AFAIK 确实可以正常工作

于 2012-11-30T05:28:57.033 回答