x86 CMPXCHG比較およびスワップを使用したD機能
解決
次のドキュメントから: http://www.digitalmars.com/d/ 2.0 / overview.html
インラインアセンブラー
デバイスドライバー、高性能 システムアプリケーション、組み込みシステム、 特殊なコードは時々必要です 取得するためにアセンブリ言語に浸る 仕事完了。 Dの実装は インラインを実装する必要はありません アセンブラ、それは定義されており、 言語。ほとんどのアセンブリコードが必要 それで対処することができ、 個別のアセンブラまたはDLLが必要です。
多くのD実装も 組み込み関数をサポート Cのサポートと同様 I / Oポート操作の組み込み関数、 特別なフローティングへの直接アクセス ポイント操作など
したがって、理論上はCMPXCHGを直接使用できます。
編集
次をご覧ください: http://www.dsource.org/projects/tango/browser/trunk/tango/core/Atomic.d?rev=4277
何らかの理由でロードに時間がかかりますが、CMPXCHG命令を内部で使用しているため、目的に合わせてリツールするのは簡単です。
所属していません StackOverflow