我正在實現一個使用原子(雙)比較和交換指令的無鎖機制。 cmpxchg16b無鎖結構的C++原子操作
我目前正在編寫這個程序集,然後將其鏈接。但是,我想知道是否有一種方法讓編譯器自動爲我做這件事?例如環繞代碼塊'原子地',並讓它去搞清楚如何在底層處理器體系結構中將代碼實現爲原子指令(或者如果底層代碼不支持它,則會在編譯時產生錯誤)?
P.S.我知道,GCC有一些內置插件(至少對於CAS)
http://gcc.gnu.org/onlinedocs/gcc-4.4.0/gcc/Atomic-Builtins.html#Atomic-Builtins
不知道如果我錯過了一些東西,但鏈接的文章似乎並不相關。 – bugmenot77 2009-05-31 00:22:59
你是對的,粘貼錯誤的網址 - 現在編輯修復,謝謝! – 2009-05-31 01:52:49