質問

原子操作に対するGCCの最近のサポート(こちらで説明)は素晴らしいものであり、必要なものの90%です。残念ながら、一部の製品はWindows上で実行する必要があるため、Windowsでもアトミック整数演算が必要です。

過去には、すべてのプラットフォームにカスタムアセンブリ言語の実装がありましたが、すべての* nixプラットフォームをGCCがサポートする操作に移行したいと思いました。 Windowsでもこれを行うには...

(アセンブリ言語で自分で実装する以外に)Windowsでこれを公式に認められた方法はありますか?

役に立ちましたか?

解決

インターロック関数が必要です。

他のヒント

それはあなたが必要とするものに依存します-Windows上でそれらのすべての(事前に構築された)実装があるとは思いません(おそらくgcc内を除く)が、それらのいくつかはかなり前から存在しています。 Windowsには、InterlockedIncrement、InterlockedDecrement、InterlockedAdd、InterlockedOr、InterlockedXorなどがあります。

GLibはアトミック操作を提供します。 Windows上で実行されることが知られています。 ソースを調べて、アイデアを探すか、直接コードを選択できます必要です。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top