我正在实现一个使用原子(双)比较和交换指令的无锁机制。 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