2

これがブースト ライブラリの公式の一部ではないことはわかっていboost::atomicますが、stackoverflow で何度も参照されているのを見たので、試してみようと思いました。これを投稿する前に、Google、stackoverflow、およびドキュメントを検索したと言って、この投稿を前置きする必要がありますboost::atomic

http://www.chaoticmind.net/~hcb/projects/boost.atomic/boost::atomicからダウンロードして、boost フォルダーにコピーしました。ただし、インクルード後に実際にコンパイルすると問題が発生し、コードにエラーがあると思います。問題を引き起こしている機能の1つはこれです

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にいくつかの問題があります、問題の1つはあなたによって対処され、それを解決するのは非常に簡単です、そして他は1つの関数がとして宣言されていないinlineので、リンカーエラーですが、AFAIKを解決した後は、問題なく機能します。

于 2012-11-30T05:28:57.033 に答える